<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0069)http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/ -->
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru-RU"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/62798af14abf4b0ef8a214bd2155efd6.css" type="text/css" media="screen">

 <title>Подсветка синтаксиса. Алгоритм Delphi. | Delphi в Internet</title> <link rel="shortcut icon" href="http://www.webdelphi.ru/wp-content/ata-images/favicon.ico">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="http://www.webdelphi.ru/xmlrpc.php">
<link rel="alternate" type="application/rss+xml" title="Delphi в Internet » Лента" href="http://www.webdelphi.ru/feed/">
<link rel="alternate" type="application/rss+xml" title="Delphi в Internet » Лента комментариев" href="http://www.webdelphi.ru/comments/feed/">
	<style type="text/css">
	.download-info .download-button {
		background-image: url(http://www.webdelphi.ru/wp-content/plugins/download-monitor/page-addon/downloadbutton.gif);
	}
	.download-info .more-button {
		background-image: url(http://www.webdelphi.ru/wp-content/plugins/download-monitor/page-addon/morebutton.gif);
	}
	</style>
			<link rel="alternate" type="application/rss+xml" title="Форумы в RSS" href="http://www.webdelphi.ru/wp-content/plugins/mingle-forum/feed.php?topic=all">
        <!-- WP DS Blog Map Function -->
                <!-- END WP DS Blog Map Function -->
<style type="text/css">body{text-align:center;margin:0;padding:0;font-family:tahoma,arial,sans-serif;font-size:0.8em;color:#000000;background:#ffffff}a:link,a:visited,a:active{color:#27149D;font-weight:bold;text-decoration:none;}a:hover{color:#CC0000;font-weight:bold;text-decoration:underline}ul,ol,dl,p,h1,h2,h3,h4,h5,h6{margin-top:10px;margin-bottom:10px;padding-top:0;padding-bottom:0;}ul ul,ul ol,ol ul,ol ol{margin-top:0;margin-bottom:0}code,pre{font-family:"Courier New",Courier,monospace;font-size:1em}pre{overflow:auto;word-wrap:normal;padding-bottom:1.5em;overflow-y:hidden;width:99%}abbr[title],acronym[title]{border-bottom:1px dotted}hr{display:block;height:2px;border:none;margin:0.5em auto;color:#cccccc;background-color:#cccccc}table{font-size:1em;}div.post,ul.commentlist li,ol.commentlist li{word-wrap:break-word;}pre,.wp_syntax{word-wrap:normal;}div#wrapper{text-align:center;margin-left:auto;margin-right:auto;display:block;width:99%}div#container{padding:0;width:auto;margin-left:auto;margin-right:auto;text-align:left;display:block}table#layout{font-size:100%;width:100%;table-layout:fixed}.colone{width:275px}.colone-inner{width:200px}.coltwo{width:100% }.colthree-inner{width:200px}.colthree{width:200px}td#header{width:auto;padding:0}table#logoarea,table#logoarea tr,table#logoarea td{margin:0;padding:0;background:none;border:0}table#logoarea{width:100%;border-spacing:0px;border:none;background:url(http://www.webdelphi.ru/header.jpg)}img.logo{display:block;margin:0 10px 0 0}td.logoarea-logo{width:1%}h1.blogtitle,h2.blogtitle{ display:block;margin:0;padding:0;letter-spacing:-1px;line-height:1.0em;font-family:georgia,tahoma,arial,sans-serif;font-size:240%;font-smooth:always}h1.blogtitle a:link,h1.blogtitle a:visited,h1.blogtitle a:active,h2.blogtitle a:link,h2.blogtitle a:visited,h2.blogtitle a:active{ text-decoration:none;color:#0F1035;font-weight:bold;font-smooth:always}h1.blogtitle a:hover,h2.blogtitle a:hover{ text-decoration:none;color:#000000;font-weight:bold}p.tagline{margin:0;padding:0;font-size:1.2em;font-weight:bold;color:#666666}td.feed-icons{white-space:nowrap;}div.rss-box{height:1%;display:block;padding:10px 0 10px 10px;margin:0;width:280px}a.comments-icon{height:22px;line-height:22px;margin:0 5px 0 5px;padding-left:22px;display:block;text-decoration:none;float:right;white-space:nowrap}a.comments-icon:link,a.comments-icon:active,a.comments-icon:visited{background:transparent url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/comment-gray.png) no-repeat scroll center left}a.comments-icon:hover{background:transparent url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/comment.png) no-repeat scroll center left}a.posts-icon{height:22px;line-height:22px;margin:0 5px 0 0;padding-left:20px;display:block;text-decoration:none;float:right;white-space:nowrap}a.posts-icon:link,a.posts-icon:active,a.posts-icon:visited{background:transparent url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/rss-gray.png) no-repeat scroll center left}a.posts-icon:hover{background:transparent url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/rss.png) no-repeat scroll center left}a.email-icon{height:22px;line-height:22px;margin:0 5px 0 5px;padding-left:24px;display:block;text-decoration:none;float:right;white-space:nowrap}a.email-icon:link,a.email-icon:active,a.email-icon:visited{background:transparent url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/email-gray.png) no-repeat scroll center left}a.email-icon:hover{background:transparent url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/email.png) no-repeat scroll center left}td.search-box{height:1%}div.searchbox{height:35px;border:1px dashed #cccccc;border-bottom:0;width:200px;margin:0;padding:0}div.searchbox-form{margin:5px 10px 5px 10px}div.horbar1,div.horbar2{font-size:1px;clear:both;display:block;position:relative;padding:0;margin:0}div.horbar1{height:5px;background:#ffffff;border-top:solid 1px #cccccc}div.horbar2{height:5px;background:#ffffff;border-bottom:solid 1px #cccccc}div.opacityleft{position:absolute;z-index:2;top:0;left:0;background-color:#FFFFFF;height:150px;width:200px;filter:alpha(opacity=40);opacity:.40}div.opacityright{position:absolute;z-index:2;top:0;right:0;background-color:#FFFFFF;height:150px;width:200px;filter:alpha(opacity=40);opacity:.40}a.divclick:link,a.divclick:visited,a.divclick:active,a.divclick:hover{width:100%;height:100%;display:block;text-decoration:none}td#left{vertical-align:top;border-right:none 1px #CCCCCC;padding:10px 10px 10px 10px;background:#ffffff}td#left-inner{vertical-align:top;border-right:dashed 1px #CCCCCC;padding:10px 10px 10px 10px;background:#ffffff}td#right{vertical-align:top;border-left:dashed 1px #CCCCCC;padding:10px 10px 10px 10px;background:#ffffff}td#right-inner{vertical-align:top;border-left:dashed 1px #CCCCCC;padding:10px 10px 10px 10px;background:#ffffff}td#middle{vertical-align:top;width:100%;padding:10px 15px}td#footer{width:auto;background-color:#ffffff;border-top:dashed 1px #cccccc;padding:10px;text-align:center;color:#777777;font-size:95%}td#footer a:link,td#footer a:visited,td#footer a:active{text-decoration:none;color:#777777;font-weight:normal}td#footer a:hover{text-decoration:none;color:#777777;font-weight:normal}div.widget{display:block;width:auto;margin:0 0 15px 0;border:1px solid #bababa;padding:10px;-moz-border-radius:10px;-webkit-border-radius:10px}div.widget-title{display:block;width:auto}div.widget-title h3,td#left h3.tw-widgettitle,td#right h3.tw-widgettitle,td#left ul.tw-nav-list,td#right ul.tw-nav-list{padding:0;margin:0;font-size:1.3em;font-weight:bold;font-color:#27149D;text-align:center}div.widget ul,div.textwidget{display:block;width:auto}div.widget select{width:98%;margin-top:5px;}div.widget ul{list-style-type:none;margin:0;padding:0;width:auto}div.widget ul li{display:block;margin:2px 0 2px 0px;padding:0 0 0 5px;border-left:solid 0px #AACCFC}div.widget ul li:hover,div.widget ul li.sfhover{display:block;width:auto;border-left:solid 0px #066CFC;}div.widget ul li ul li{margin:2px 0 2px 5px;padding:0 0 0 5px;border-left:solid 0px #AACCFC;}div.widget ul li ul li:hover,div.widget ul li ul li.sfhover{border-left:solid 0px #066CFC;}div.widget ul li ul li ul li{margin:2px 0 2px 5px;padding:0 0 0 5px;border-left:solid 0px #AACCFC;}div.widget ul li ul li ul li:hover,div.widget ul li ul li ul li.sfhover{border-left:solid 0px #066CFC;}div.widget a:link,div.widget a:visited,div.widget a:active,div.widget td a:link,div.widget td a:visited,div.widget td a:active,div.widget ul li a:link,div.widget ul li a:visited,div.widget ul li a:active{text-decoration:none;font-weight:normal;color:#666666;font-weight:normal;}div.widget ul li ul li a:link,div.widget ul li ul li a:visited,div.widget ul li ul li a:active{color:#666666;font-weight:normal;}div.widget ul li ul li ul li a:link,div.widget ul li ul li ul li a:visited,div.widget ul li ul li ul li a:active{color:#666666;font-weight:normal;}div.widget a:hover,div.widget ul li a:hover{color:#000000;}div.widget ul li ul li a:hover{color:#000000;}div.widget ul li ul li ul li a:hover{color:#000000;}div.widget ul li a:link,div.widget ul li a:visited,div.widget ul li a:active,div.widget ul li a:hover{display:inline}* html div.widget ul li a:link,* html div.widget ul li a:visited,* html div.widget ul li a:active,* html div.widget ul li a:hover{height:1%; } div.widget_nav_menu ul li,div.widget_pages ul li,div.widget_categories ul li{border-left:0 !important;padding:0 !important}div.widget_nav_menu ul li a:link,div.widget_nav_menu ul li a:visited,div.widget_nav_menu ul li a:active,div.widget_pages ul li a:link,div.widget_pages ul li a:visited,div.widget_pages ul li a:active,div.widget_categories ul li a:link,div.widget_categories ul li a:visited,div.widget_categories ul li a:active{padding:0 0 0 5px;border-left:solid 0px #AACCFC}div.widget_nav_menu ul li a:hover,div.widget_pages ul li a:hover,div.widget_categories ul li a:hover{border-left:solid 0px #066CFC;}div.widget_nav_menu ul li ul li a:link,div.widget_nav_menu ul li ul li a:visited,div.widget_nav_menu ul li ul li a:active,div.widget_pages ul li ul li a:link,div.widget_pages ul li ul li a:visited,div.widget_pages ul li ul li a:active,div.widget_categories ul li ul li a:link,div.widget_categories ul li ul li a:visited,div.widget_categories ul li ul li a:active{padding:0 0 0 5px;border-left:solid 0px #AACCFC}div.widget_nav_menu ul li ul li a:hover,div.widget_pages ul li ul li a:hover,div.widget_categories ul li ul li a:hover{border-left:solid 0px #066CFC;}div.widget_nav_menu ul li ul li ul li a:link,div.widget_nav_menu ul li ul li ul li a:visited,div.widget_nav_menu ul li ul li ul li a:active,div.widget_pages ul li ul li ul li a:link,div.widget_pages ul li ul li ul li a:visited,div.widget_pages ul li ul li ul li a:active,div.widget_categories ul li ul li ul li a:link,div.widget_categories ul li ul li ul li a:visited,div.widget_categories ul li ul li ul li a:active{padding:0 0 0 5px;border-left:solid 0px #AACCFC}div.widget_nav_menu ul li ul li ul li a:hover,div.widget_pages ul li ul li ul li a:hover,div.widget_categories ul li ul li ul li a:hover{border-left:solid 0px #066CFC;}div.widget_nav_menu ul li a:link,div.widget_nav_menu ul li a:active,div.widget_nav_menu ul li a:visited,div.widget_nav_menu ul li a:hover,div.widget_pages ul li a:link,div.widget_pages ul li a:active,div.widget_pages ul li a:visited,div.widget_pages ul li a:hover{display:block !important}div.widget_categories ul li a:link,div.widget_categories ul li a:active,div.widget_categories ul li a:visited,div.widget_categories ul li a:hover{display:inline !important}table.subscribe{width:100%}table.subscribe td.email-text{padding:0 0 5px 0;vertical-align:top}table.subscribe td.email-field{padding:0;width:100%}table.subscribe td.email-button{padding:0 0 0 5px}table.subscribe td.post-text{padding:7px 0 0 0;vertical-align:top}table.subscribe td.comment-text{padding:7px 0 0 0;vertical-align:top}div.post,div.page{display:block;margin:0 0 30px 0}div.sticky{background:#eee url('http://www.webdelphi.ru/wp-content/themes/atahualpa /images/sticky.gif') 99% 5% no-repeat;border:dashed 1px #cccccc;padding:10px}div.post-kicker{margin:0 0 5px 0}div.post-kicker a:link,div.post-kicker a:visited,div.post-kicker a:active{color:#000000;text-decoration:none;text-transform:uppercase}div.post-kicker a:hover{color:#cc0000}div.post-headline{}div.post-headline h1,div.post-headline h2{ margin:0; padding:0;font-size:1.6em;font-weight:bold;color:#27149D}div.post-headline h2 a:link,div.post-headline h2 a:visited,div.post-headline h2 a:active,div.post-headline h1 a:link,div.post-headline h1 a:visited,div.post-headline h1 a:active{color:#27149D;text-decoration:none}div.post-headline h2 a:hover,div.post-headline h1 a:hover{color:#000000;text-decoration:none}div.post-byline{margin:5px 0 10px 0}div.post-byline a:link,div.post-byline a:visited,div.post-byline a:active{}div.post-byline a:hover{}div.post-bodycopy{}div.post-bodycopy p{margin:1em 0;padding:0;display:block}div.post-pagination{}div.post-footer{clear:both;display:block;margin:0;padding:5px;background:#eeeeee;color:#666;line-height:18px}div.post-footer a:link,div.post-footer a:visited,div.post-footer a:active{color:#333;font-weight:normal;text-decoration:none}div.post-footer a:hover{color:#333;font-weight:normal;text-decoration:underline}div.post-kicker img,div.post-byline img,div.post-footer img{border:0;padding:0;margin:0 0 -1px 0;background:none}span.post-ratings{display:inline-block;width:auto;white-space:nowrap}div.navigation-top{margin:0 0 10px 0;padding:0 0 10px 0;border-bottom:dashed 1px #cccccc}div.navigation-middle{margin:10px 0 20px 0;padding:10px 0 10px 0;border-top:dashed 1px #cccccc;border-bottom:dashed 1px #cccccc}div.navigation-bottom{margin:20px 0 0 0;padding:10px 0 0 0;border-top:dashed 1px #cccccc}div.navigation-comments-above{margin:0 0 10px 0;padding:5px 0 5px 0}div.navigation-comments-below{margin:0 0 10px 0;padding:5px 0 5px 0}div.older{float:left;width:48%;text-align:left;margin:0;padding:0}div.newer{float:right;width:48%;text-align:right;margin:0;padding:0;}div.older-home{float:left;width:44%;text-align:left;margin:0;padding:0}div.newer-home{float:right;width:44%;text-align:right;margin:0;padding:0;}div.home{float:left;width:8%;text-align:center;margin:0;padding:0}form,.feedburner-email-form{margin:0;padding:0;}fieldset{border:1px solid #cccccc;width:auto;padding:0.35em 0.625em 0.75em;display:block;}legend{color:#000000;background:#f4f4f4;border:1px solid #cccccc;padding:2px 6px;margin-bottom:15px;}form p{margin:5px 0 0 0;padding:0;}div.xhtml-tags p{margin:0}label{margin-right:0.5em;font-family:arial;cursor:pointer;}input.text,input.textbox,input.password,input.file,input.TextField,textarea{padding:3px;color:#000000;border-top:solid 1px #333333;border-left:solid 1px #333333;border-right:solid 1px #999999;border-bottom:solid 1px #cccccc;background:url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/inputbackgr.gif) top left no-repeat}textarea{width:96%;}input.inputblur{color:#777777;width:95%}input.inputfocus{color:#000000;width:95%}input.highlight,textarea.highlight{background:#e8eff7;border-color:#37699f}.button,.Button,input[type=submit]{padding:0 2px;height:24px;line-height:16px;background-color:#777777;color:#ffffff;border:solid 2px #555555;font-weight:bold}input.buttonhover{padding:0 2px;cursor:pointer;background-color:#6b9c6b;color:#ffffff;border:solid 2px #496d49}form#commentform input#submit{ padding:0 .25em; overflow:visible}form#commentform input#submit[class]{width:auto}form#commentform input#submit{padding:4px 10px 4px 10px;font-size:1.2em;line-height:1.5em;height:36px}table.searchform{width:100%}table.searchform td.searchfield{padding:0;width:100%}table.searchform td.searchbutton{padding:0 0 0 5px}table.searchform td.searchbutton input{padding:0 0 0 5px}blockquote{height:1%;display:block;clear:both;color:#555555;padding:1em 1em;background:#f4f4f4;border:solid 1px #e1e1e1}blockquote blockquote{height:1%;display:block;clear:both;color:#444444;padding:1em 1em;background:#e1e1e1;border:solid 1px #d3d3d3}div.post table{border-collapse:collapse;margin:10px 0}div.post table caption{width:auto;margin:0 auto;background:#eeeeee;border:#999999;padding:4px 8px;color:#666666}div.post table th{background:#888888;color:#ffffff;font-weight:bold;font-size:90%;padding:4px 8px;border:solid 1px #ffffff;text-align:left}div.post table td{padding:4px 8px;background-color:#ffffff;border-bottom:1px solid #dddddd;text-align:left}div.post table tfoot td{}div.post table tr.alt td{background:#f4f4f4}div.post table tr.over td{background:#e2e2e2}#calendar_wrap{padding:0;border:none}table#wp-calendar{width:100%;font-size:90%;border-collapse:collapse;background-color:#ffffff;margin:0 auto}table#wp-calendar caption{width:auto;background:#eeeeee;border:none;;padding:3px;margin:0 auto;font-size:1em}table#wp-calendar th{border:solid 1px #eeeeee;background-color:#999999;color:#ffffff;font-weight:bold;padding:2px;text-align:center}table#wp-calendar td{padding:0;line-height:18px;background-color:#ffffff;border:1px solid #dddddd;text-align:center}table#wp-calendar tfoot td{border:solid 1px #eeeeee;background-color:#eeeeee}table#wp-calendar td a{display:block;background-color:#eeeeee;width:100%;height:100%;padding:0}div#respond{margin:25px 0;padding:25px;background:#eee;-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}p.thesetags{margin:10px 0}h3.reply,h3#reply-title{margin:0;padding:0 0 10px 0}ol.commentlist{margin:15px 0 25px 0;list-style-type:none;padding:0;display:block;border-top:dotted 1px #cccccc}ol.commentlist li{padding:15px 10px;display:block;height:1%;margin:0;background-color:#FFFFFF;border-bottom:dotted 1px #cccccc}ol.commentlist li.alt{display:block;height:1%;background-color:#EEEEEE;border-bottom:dotted 1px #cccccc}ol.commentlist li.authorcomment{display:block;height:1%;background-color:#FFECEC}ol.commentlist span.authorname{font-weight:bold;font-size:110%}ol.commentlist span.commentdate{color:#666666;font-size:90%;margin-bottom:5px;display:block}ol.commentlist span.editcomment{display:block}ol.commentlist li p{margin:2px 0 5px 0}div.comment-number{float:right;font-size:2em;line-height:2em;font-family:georgia,serif;font-weight:bold;color:#ddd;margin:-10px 0 0 0;position:relative;height:1%}div.comment-number a:link,div.comment-number a:visited,div.comment-number a:active{color:#ccc}textarea#comment{width:98%;margin:10px 0;display:block}ul.commentlist{margin:15px 0 15px 0;list-style-type:none;padding:0;display:block;border-top:dotted 1px #cccccc}ul.commentlist ul{margin:0;border:none;list-style-type:none;padding:0}ul.commentlist li{padding:0; margin:0;display:block;clear:both;height:1%;}ul.commentlist ul.children li{ margin-left:30px}ul.commentlist div.comment-container{padding:10px;margin:0}ul.children div.comment-container{background-color:transparent;border:dotted 1px #ccc;padding:10px;margin:0 10px 8px 0; border-radius:5px}ul.children div.bypostauthor{}ul.commentlist li.thread-even{background-color:#FFFFFF;border-bottom:dotted 1px #cccccc}ul.commentlist li.thread-odd{background-color:#EEEEEE;border-bottom:dotted 1px #cccccc}ul.commentlist div.bypostauthor{background-color:#FFECEC}ul.children div.bypostauthor{border:dotted 1px #FFBFBF}ul.commentlist span.authorname{font-size:110%}div.comment-meta a:link,div.comment-meta a:visited,div.comment-meta a:active,div.comment-meta a:hover{font-weight:normal}div#cancel-comment-reply{margin:-5px 0 10px 0}div.comment-number{float:right;font-size:2em;line-height:2em;font-family:georgia,serif;font-weight:bold;color:#ddd;margin:-10px 0 0 0;position:relative;height:1%}div.comment-number a:link,div.comment-number a:visited,div.comment-number a:active{color:#ccc}.page-numbers{padding:2px 6px;border:solid 1px #000000;border-radius:6px}span.current{background:#ddd}a.prev,a.next{border:none}a.page-numbers:link,a.page-numbers:visited,a.page-numbers:active{text-decoration:none;color:#27149D;border-color:#27149D}a.page-numbers:hover{text-decoration:none;color:#CC0000;border-color:#CC0000}div.xhtml-tags{display:none}abbr em{border:none !important;border-top:dashed 1px #aaa !important;display:inline-block !important;background:url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/commentluv.gif) 0% 90% no-repeat;margin-top:8px;padding:5px 5px 2px 20px !important;font-style:normal}p.subscribe-to-comments{margin-bottom:10px}div#gsHeader{display:none;}div.g2_column{margin:0 !important;width:100% !important;font-size:1.2em}div#gsNavBar{border-top-width:0 !important}p.giDescription{font-size:1.2em;line-height:1 !important}p.giTitle{margin:0.3em 0 !important;font-size:1em;font-weight:normal;color:#666}div#wp-email img{border:0;padding:0}div#wp-email input,div#wp-email textarea{margin-top:5px;margin-bottom:2px}div#wp-email p{margin-bottom:10px}input#wp-email-submit{ padding:0; font-size:30px; height:50px; line-height:50px; overflow:visible;}img.WP-EmailIcon{ vertical-align:text-bottom !important}.tw-accordion .tw-widgettitle,.tw-accordion .tw-widgettitle:hover,.tw-accordion .tw-hovered,.tw-accordion .selected,.tw-accordion .selected:hover{ background:transparent !important; background-image:none !important}.tw-accordion .tw-widgettitle span{ padding-left:0 !important}.tw-accordion h3.tw-widgettitle{border-bottom:solid 1px #ccc}.tw-accordion h3.selected{border-bottom:none}td#left .without_title,td#right .without_title{ margin-top:0;margin-bottom:0}ul.tw-nav-list{border-bottom:solid 1px #999;display:block;margin-bottom:5px !important}td#left ul.tw-nav-list li,td#right ul.tw-nav-list li{padding:0 0 1px 0;margin:0 0 -1px 5px; border:solid 1px #ccc;border-bottom:none;border-radius:5px;border-bottom-right-radius:0;border-bottom-left-radius:0;background:#eee}td#left ul.tw-nav-list li.ui-tabs-selected,td#right ul.tw-nav-list li.ui-tabs-selected{ background:none;border:solid 1px #999;border-bottom:solid 1px #fff !important}ul.tw-nav-list li a:link,ul.tw-nav-list li a:visited,ul.tw-nav-list li a:active,ul.tw-nav-list li a:hover{padding:0 8px !important;background:none;border-left:none !important;outline:none}td#left ul.tw-nav-list li.ui-tabs-selected a,td#left li.ui-tabs-selected a:hover,td#right ul.tw-nav-list li.ui-tabs-selected a,td#right li.ui-tabs-selected a:hover{ color:#000000; text-decoration:none;font-weight:bold;background:none !important;outline:none}td#left .ui-tabs-panel,td#right .ui-tabs-panel{ margin:0; padding:0}img{border:0}#dbem-location-map img{ background:none !important}.post img{}.post img.size-full{max-width:96%;width:auto;margin:5px 0 5px 0}div.post img[class~=size-full]{height:auto;}.post img.alignleft{float:left;margin:10px 10px 5px 0;}.post img.alignright{float:right;margin:10px 0 5px 10px;}.post img.aligncenter{display:block;margin:10px auto}.aligncenter,div.aligncenter{ display:block; margin-left:auto; margin-right:auto}.alignleft,div.alignleft{float:left;margin:10px 10px 5px 0}.alignright,div.alignright{ float:right; margin:10px 0 5px 10px}div.archives-page img{border:0;padding:0;background:none;margin-bottom:0;vertical-align:-10%}.wp-caption{max-width:96%;width:auto 100%;height:auto;display:block;border:1px solid #dddddd;text-align:center;background-color:#f3f3f3;padding-top:4px;margin:10px 0 0 0;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}* html .wp-caption{height:100%;}.wp-caption img{ margin:0 !important; padding:0 !important; border:0 none !important}.wp-caption p.wp-caption-text{font-size:0.8em;line-height:13px;padding:2px 4px 5px;margin:0;color:#666666}img.wp-post-image{float:left;border:0;padding:0;background:none;margin:0 10px 5px 0}img.wp-smiley{ float:none;border:none !important;margin:0 1px -1px 1px;padding:0 !important;background:none !important}img.avatar{float:left;display:block;margin:0 8px 1px 0;padding:3px;border:solid 1px #ddd;background-color:#f3f3f3;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}#comment_quicktags{text-align:left;padding:10px 0 2px 0;display:block}#comment_quicktags input.ed_button{background:#f4f4f4;border:2px solid #cccccc;color:#444444;margin:2px 4px 2px 0;width:auto;padding:0 4px;height:24px;line-height:16px}#comment_quicktags input.ed_button_hover{background:#dddddd;border:2px solid #666666;color:#000000;margin:2px 4px 2px 0;width:auto;padding:0 4px;height:24px;line-height:16px;cursor:pointer}#comment_quicktags #ed_strong{font-weight:bold}#comment_quicktags #ed_em{font-style:italic}@media print{body{background:white;color:black;margin:0;font-size:10pt !important;font-family:arial,sans-serif;}div.post-footer{line-height:normal !important;color:#555 !important;font-size:9pt !important}a:link,a:visited,a:active,a:hover{text-decoration:underline !important;color:#000}h2{color:#000;font-size:14pt !important;font-weight:normal !important}h3{color:#000;font-size:12pt !important;}#header,#footer,.colone,.colone-inner,.colthree-inner,.colthree,.navigation,.navigation-top,.navigation-middle,.navigation-bottom,.wp-pagenavi-navigation,#comment,#respond,.remove-for-print{display:none}td#left,td#right,td#left-inner,td#right-inner{width:0;display:none}td#middle{width:100% !important;display:block}*:lang(en) td#left{ display:none}*:lang(en) td#right{ display:none}*:lang(en) td#left-inner{ display:none}*:lang(en) td#right-inner{ display:none}td#left:empty{ display:none}td#right:empty{ display:none}td#left-inner:empty{ display:none}td#right-inner:empty{ display:none}}ul.rMenu,ul.rMenu ul,ul.rMenu li,ul.rMenu a{display:block;margin:0;padding:0}ul.rMenu,ul.rMenu li,ul.rMenu ul{list-style:none}ul.rMenu ul{display:none}ul.rMenu li{position:relative;z-index:1}ul.rMenu li:hover{z-index:999}ul.rMenu li:hover > ul{display:block;position:absolute}ul.rMenu li:hover{background-position:0 0} ul.rMenu-hor li{float:left;width:auto}ul.rMenu-hRight li{float:right}ul.sub-menu li,ul.rMenu-ver li{float:none}div#menu1 ul.sub-menu,div#menu1 ul.sub-menu ul,div#menu1 ul.rMenu-ver,div#menu1 ul.rMenu-ver ul{width:25em}div#menu2 ul.sub-menu,div#menu2 ul.sub-menu ul,div#menu2 ul.rMenu-ver,div#menu2 ul.rMenu-ver ul{width:11em}ul.rMenu-wide{width:100%}ul.rMenu-vRight{float:right}ul.rMenu-lFloat{float:left}ul.rMenu-noFloat{float:none}div.rMenu-center ul.rMenu{float:left;position:relative;left:50%}div.rMenu-center ul.rMenu li{position:relative;left:-50%}div.rMenu-center ul.rMenu li li{left:auto}ul.rMenu-hor ul{top:auto;right:auto;left:auto;margin-top:-1px}ul.rMenu-hor ul ul{margin-top:0;margin-left:0px}ul.sub-menu ul,ul.rMenu-ver ul{left:100%;right:auto;top:auto;top:0}ul.rMenu-vRight ul,ul.rMenu-hRight ul.sub-menu ul,ul.rMenu-hRight ul.rMenu-ver ul{left:-100%;right:auto;top:auto}ul.rMenu-hRight ul{left:auto;right:0;top:auto;margin-top:-1px}div#menu1 ul.rMenu{background:#FFFFFF;border:solid 1px #cccccc}div#menu2 ul.rMenu{background:#E6F1FB;border:none 1px #000000}div#menu1 ul.rMenu li a{border:solid 1px #cccccc}div#menu2 ul.rMenu li a{border:none 1px #000000}ul.rMenu-hor li{margin-bottom:-1px;margin-top:-1px;margin-left:-1px}ul#rmenu li{}ul#rmenu li ul li{}ul.rMenu-hor{padding-left:1px }ul.sub-menu li,ul.rMenu-ver li{margin-left:0;margin-top:-1px; }div#menu1 ul.sub-menu,div#menu1 ul.rMenu-ver{border-top:solid 1px #cccccc}div#menu2 ul.sub-menu,div#menu2 ul.rMenu-ver{border-top:none 1px #000000}div#menu1 ul.rMenu li a{padding:4px 5px}div#menu2 ul.rMenu li a{padding:4px 5px}div#menu1 ul.rMenu li a:link,div#menu1 ul.rMenu li a:hover,div#menu1 ul.rMenu li a:visited,div#menu1 ul.rMenu li a:active{text-decoration:none;margin:0;color:#777777;text-transform:uppercase;font:11px Arial,Verdana,sans-serif;}div#menu2 ul.rMenu li a:link,div#menu2 ul.rMenu li a:hover,div#menu2 ul.rMenu li a:visited,div#menu2 ul.rMenu li a:active{text-decoration:none;margin:0;color:#33315A;text-transform:uppercase;font:11px Arial,Verdana,sans-serif;}div#menu1 ul.rMenu li{background-color:#FFFFFF}div#menu2 ul.rMenu li{background-color:#E6F1FB}div#menu1 ul.rMenu li:hover,div#menu1 ul.rMenu li.sfhover{background:#DDDDDD}div#menu2 ul.rMenu li:hover,div#menu2 ul.rMenu li.sfhover{background:#A58E8E}div#menu1 ul.rMenu li.current-menu-item > a:link,div#menu1 ul.rMenu li.current-menu-item > a:active,div#menu1 ul.rMenu li.current-menu-item > a:hover,div#menu1 ul.rMenu li.current-menu-item > a:visited,div#menu1 ul.rMenu li.current_page_item > a:link,div#menu1 ul.rMenu li.current_page_item > a:active,div#menu1 ul.rMenu li.current_page_item > a:hover,div#menu1 ul.rMenu li.current_page_item > a:visited{background-color:#EEEEEE;color:#000000}div#menu1 ul.rMenu li.current-menu-item a:link,div#menu1 ul.rMenu li.current-menu-item a:active,div#menu1 ul.rMenu li.current-menu-item a:hover,div#menu1 ul.rMenu li.current-menu-item a:visited,div#menu1 ul.rMenu li.current_page_item a:link,div#menu1 ul.rMenu li.current_page_item a:active,div#menu1 ul.rMenu li.current_page_item a:hover,div#menu1 ul.rMenu li.current_page_item a:visited,div#menu1 ul.rMenu li a:hover{background-color:#EEEEEE;color:#000000}div#menu2 ul.rMenu li.current-menu-item > a:link,div#menu2 ul.rMenu li.current-menu-item > a:active,div#menu2 ul.rMenu li.current-menu-item > a:hover,div#menu2 ul.rMenu li.current-menu-item > a:visited,div#menu2 ul.rMenu li.current-cat > a:link,div#menu2 ul.rMenu li.current-cat > a:active,div#menu2 ul.rMenu li.current-cat > a:hover,div#menu2 ul.rMenu li.current-cat > a:visited{background-color:#B1B1BF;color:#000000}div#menu2 ul.rMenu li.current-menu-item a:link,div#menu2 ul.rMenu li.current-menu-item a:active,div#menu2 ul.rMenu li.current-menu-item a:hover,div#menu2 ul.rMenu li.current-menu-item a:visited,div#menu2 ul.rMenu li.current-cat a:link,div#menu2 ul.rMenu li.current-cat a:active,div#menu2 ul.rMenu li.current-cat a:hover,div#menu2 ul.rMenu li.current-cat a:visited,div#menu2 ul.rMenu li a:hover{background-color:#B1B1BF;color:#000000}div#menu1 ul.rMenu li.rMenu-expand a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a{padding-right:15px;padding-left:5px;background-repeat:no-repeat;background-position:100% 50%;background-image:url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/expand-right.gif)}div#menu2 ul.rMenu li.rMenu-expand a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a{padding-right:15px;padding-left:5px;background-repeat:no-repeat;background-position:100% 50%;background-image:url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/expand-right.gif)}ul.rMenu-vRight li.rMenu-expand a,ul.rMenu-vRight li.rMenu-expand li.rMenu-expand a,ul.rMenu-vRight li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-vRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-vRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-vRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-vRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-vRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-vRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-vRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a,ul.rMenu-hRight li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand a{padding-right:5px;padding-left:20px;background-image:url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/expand-left.gif);background-repeat:no-repeat;background-position:-5px 50%}div#menu1 ul.rMenu-hor li.rMenu-expand a{padding-left:5px;padding-right:15px !important;background-position:100% 50%;background-image:url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/expand-down.gif)}div#menu2 ul.rMenu-hor li.rMenu-expand a{padding-left:5px;padding-right:15px !important;background-position:100% 50%;background-image:url(http://www.webdelphi.ru/wp-content/themes/atahualpa/images/expand-down.gif)}div#menu1 ul.rMenu li.rMenu-expand li a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li a,div#menu1 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li a{background-image:none;padding-right:5px;padding-left:5px}div#menu2 ul.rMenu li.rMenu-expand li a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li a,div#menu2 ul.rMenu li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li.rMenu-expand li a{background-image:none;padding-right:5px;padding-left:5px}* html ul.rMenu{display:inline-block;display:block;position:relative;position:static}* html ul.rMenu ul{float:left;float:none}ul.rMenu ul{background-color:#fff}* html ul.sub-menu li,* html ul.rMenu-ver li,* html ul.rMenu-hor li ul.sub-menu li,* html ul.rMenu-hor li ul.rMenu-ver li{width:100%;float:left;clear:left}*:first-child+html ul.sub-menu > li:hover ul,*:first-child+html ul.rMenu-ver > li:hover ul{min-width:0}ul.rMenu li a{position:relative;min-width:0}* html ul.rMenu-hor li{width:6em;width:auto}* html div.rMenu-center{position:relative;z-index:1}html:not([lang*=""]) div.rMenu-center ul.rMenu li a:hover{height:100%}html:not([lang*=""]) div.rMenu-center ul.rMenu li a:hover{height:auto}* html ul.rMenu ul{display:block;position:absolute}* html ul.rMenu ul,* html ul.rMenu-hor ul,* html ul.sub-menu ul,* html ul.rMenu-ver ul,* html ul.rMenu-vRight ul,* html ul.rMenu-hRight ul.sub-menu ul,* html ul.rMenu-hRight ul.rMenu-ver ul,* html ul.rMenu-hRight ul{left:-10000px}* html ul.rMenu li.sfhover{z-index:999}* html ul.rMenu li.sfhover ul{left:auto}* html ul.rMenu li.sfhover ul ul,* html ul.rMenu li.sfhover ul ul ul{display:none}* html ul.rMenu li.sfhover ul,* html ul.rMenu li li.sfhover ul,* html ul.rMenu li li li.sfhover ul{display:block}* html ul.sub-menu li.sfhover ul,* html ul.rMenu-ver li.sfhover ul{left:60%}* html ul.rMenu-vRight li.sfhover ul,* html ul.rMenu-hRight ul.sub-menu li.sfhover ul* html ul.rMenu-hRight ul.rMenu-ver li.sfhover ul{left:-60%}* html ul.rMenu iframe{position:absolute;left:0;top:0;z-index:-1}* html ul.rMenu{margin-left:1px}* html ul.rMenu ul,* html ul.rMenu ul ul,* html ul.rMenu ul ul ul,* html ul.rMenu ul ul ul ul{margin-left:0}.clearfix:after{ content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{min-width:0;display:inline-block;display:block}* html .clearfix{height:1%;}.clearboth{clear:both;height:1%;font-size:1%;line-height:1%;display:block;padding:0;margin:0}h1{font-size:34px;line-height:1.2;margin:0.3em 0 10px;}h2{font-size:28px;line-height:1.3;margin:1em 0 .2em;}h3{font-size:24px;line-height:1.3;margin:1em 0 .2em;}h4{font-size:19px;margin:1.33em 0 .2em;}h5{font-size:1.3em;margin:1.67em 0;font-weight:bold;}h6{font-size:1.15em;margin:1.67em 0;font-weight:bold;}dfn{border-bottom:1px dashed blue;color:maroon } </style>
<script src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/cb=gapi.loaded_1" async=""></script><script src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/cb=gapi.loaded_0" async=""></script><script type="text/javascript" async="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/plusone.js" gapi_processed="true"></script><script type="text/javascript" async="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/watch.js"></script><script type="text/javascript">
//<![CDATA[
/* JQUERY */
jQuery(document).ready(function(){
	/* jQuery('ul#rmenu').superfish(); */
	/* jQuery('ul#rmenu').superfish().find('ul').bgIframe({opacity:false}); */
	/* For IE6 */
	if (jQuery.browser.msie && /MSIE 6\.0/i.test(window.navigator.userAgent) && !/MSIE 7\.0/i.test(window.navigator.userAgent) && !/MSIE 8\.0/i.test(window.navigator.userAgent)) {
		/* Max-width for images in IE6 */
		var centerwidth = jQuery("td#middle").width();
		/* Images without caption */
		jQuery(".post img").each(function() {
			var maxwidth = centerwidth - 10 + 'px';
			var imgwidth = jQuery(this).width();
			var imgheight = jQuery(this).height();
			var newimgheight = (centerwidth / imgwidth * imgheight) + 'px';
			if (imgwidth > centerwidth) {
				jQuery(this).css({width: maxwidth});
				jQuery(this).css({height: newimgheight});
			}
		});
		/* Images with caption */
		jQuery("div.wp-caption").each(function() {
			var captionwidth = jQuery(this).width();
			var maxcaptionwidth = centerwidth + 'px';
			var captionheight = jQuery(this).height();
			var captionimgwidth =  jQuery("div.wp-caption img").width();
			var captionimgheight =  jQuery("div.wp-caption img").height();
			if (captionwidth > centerwidth) {
				jQuery(this).css({width: maxcaptionwidth});
				var newcaptionheight = (centerwidth / captionwidth * captionheight) + 'px';
				var newcaptionimgheight = (centerwidth / captionimgwidth * captionimgheight) + 'px';
				jQuery(this).css({height: newcaptionheight});
				jQuery("div.wp-caption img").css({height: newcaptionimgheight});
				}
		});
		/* sfhover for LI:HOVER support in IE6: */
		jQuery("ul li").
			hover( function() {
					jQuery(this).addClass("sfhover")
				},
				function() {
					jQuery(this).removeClass("sfhover")
				}
			);
	/* End IE6 */
	}
	/* Since 3.7.8: Auto resize videos (embed and iframe elements)
	TODO: Parse parent's dimensions only once per layout column, not per video
	*/
	function bfa_resize_video() {
		jQuery('embed, iframe').each( function() {
			var video = jQuery(this),
			videoWidth = video.attr('width'); // use the attr here, not width() or css()
			videoParent = video.parent(),
			videoParentWidth = parseFloat( videoParent.css( 'width' ) ),
			videoParentBorder = parseFloat( videoParent.css( 'border-left-width' ) )
										+  parseFloat( videoParent.css( 'border-right-width' ) ),
			videoParentPadding = parseFloat( videoParent.css( 'padding-left' ) )
										+  parseFloat( videoParent.css( 'padding-right' ) ),
			maxWidth = videoParentWidth - videoParentBorder - videoParentPadding;
			if( videoWidth > maxWidth ) {
				var videoHeight = video.attr('height'),
				videoMaxHeight = ( maxWidth / videoWidth * videoHeight );
				video.attr({ width: maxWidth, height: videoMaxHeight });
			}
		});
	}
	bfa_resize_video();
	jQuery(window).resize( bfa_resize_video );
	jQuery(".post table tr").
		mouseover(function() {
			jQuery(this).addClass("over");
		}).
		mouseout(function() {
			jQuery(this).removeClass("over");
		});
	jQuery(".post table tr:even").
		addClass("alt");
	jQuery("input.text, input.TextField, input.file, input.password, textarea").
		focus(function () {
			jQuery(this).addClass("highlight");
		}).
		blur(function () {
			jQuery(this).removeClass("highlight");
		})
	jQuery("input.inputblur").
		focus(function () {
			jQuery(this).addClass("inputfocus");
		}).
		blur(function () {
			jQuery(this).removeClass("inputfocus");
		})
	jQuery("input.button, input.Button, input#submit").
		mouseover(function() {
			jQuery(this).addClass("buttonhover");
		}).
		mouseout(function() {
			jQuery(this).removeClass("buttonhover");
		});
	/* toggle "you can use these xhtml tags" */
	jQuery("a.xhtmltags").
		click(function(){
			jQuery("div.xhtml-tags").slideToggle(300);
		});
	/* For the Tabbed Widgets plugin: */
	jQuery("ul.tw-nav-list").
		addClass("clearfix");
});
//]]>
</script>
	<style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
<!-- All in One SEO Pack 2.1.1 by Michael Torbert of Semper Fi Web Design[261,308] -->
<link rel="author" href="http://admin/">
<meta name="description" content="Подсветка синтаксиса на Delphi. Пишем простой редактор текста с подсветкой синтаксиса. Готовый модуль для работы с синтаксисом">
<meta name="keywords" content="richedit, подсветка синтаксиса, алгоритм подсветки,delphi,алгоритм,подсветка,строки,Основы delphi">
<link rel="canonical" href="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet.htm">
<!-- /all in one seo pack -->
<!--[if IE 6]>
<script type="text/javascript">DD_roundies.addRule("a.posts-icon, a.comments-icon, a.email-icon, img.logo");</script>
<![endif]-->
</head>
<body class="single single-post postid-197 single-format-standard">
<div id="wrapper">
<div id="container">
<table id="layout" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col class="colone"><col class="coltwo">
</colgroup>
	<tbody><tr>
		<!-- Header -->
		<td id="header" colspan="2">
		<table id="logoarea" cellpadding="0" cellspacing="0" border="0" width="100%"><tbody><tr><td valign="middle" class="logoarea-title"><h2 class="blogtitle"><a href="http://www.webdelphi.ru/">Delphi в Internet</a></h2><p class="tagline">программируем в Delphi</p></td><td class="feed-icons" valign="middle" align="right"><div class="clearfix rss-box"><a class="posts-icon" href="http://www.webdelphi.ru/feed/" title="Подписаться на RSS-канал статей">Статьи</a></div></td></tr></tbody></table> <div class="horbar1">&nbsp;</div> <div id="menu2" class="menu-stranicy-container"><ul id="rmenu" class="clearfix rMenu-hor rMenu"><li id="menu-item-7423" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-7423"><a href="http://www.webdelphi.ru/"><span>Главная</span></a></li>
<li id="menu-item-7425" class="rMenu-expand menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-7425"><a title="Все статьи блога" href="http://www.webdelphi.ru/spisok-statej/"><span>Статьи</span></a>
<ul class="rMenu-ver sub-menu">
	<li id="menu-item-7426" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7426"><a title="Лучшие статьи блога" href="http://www.webdelphi.ru/spisok-statej/top/"><span>Лучшее</span></a></li>
	<li id="menu-item-7427" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7427"><a title="заметки, трюки, подсказки по delphi" href="http://www.webdelphi.ru/zametki/"><span>Заметки</span></a></li>
	<li id="menu-item-7424" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7424"><a title="Опубликовать свою статью" href="http://www.webdelphi.ru/post/"><span>Авторам</span></a></li>
</ul>
</li>
<li id="menu-item-7429" class="rMenu-expand menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-7429"><a title="Библиотеки и исходники для разработчиков" href="http://www.webdelphi.ru/isxodniki-delphi/razrabotchiku/"><span>Разработчику</span></a>
<ul class="rMenu-ver sub-menu">
	<li id="menu-item-7428" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7428"><a title="Исходники delphi" href="http://www.webdelphi.ru/isxodniki-delphi/"><span>Исходники</span></a></li>
	<li id="menu-item-7410" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7410"><a title="Видео по Delphi и FireMonkey" href="http://www.webdelphi.ru/delphi-video/"><span>Видео</span></a></li>
	<li id="menu-item-7411" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7411"><a title="Книги по Delphi" href="http://www.webdelphi.ru/knigi/"><span>Книги</span></a></li>
</ul>
</li>
<li id="menu-item-7431" class="rMenu-expand menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-7431"><a title="Информация о блоге webdelphi" href="http://www.webdelphi.ru/about/"><span>О нас</span></a>
<ul class="rMenu-ver sub-menu">
	<li id="menu-item-7437" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7437"><a title="Цели на текущий год" href="http://www.webdelphi.ru/celi/"><span>Цели</span></a></li>
	<li id="menu-item-7434" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7434"><a title="Проекты webdelphi с открытым исходным кодом" href="http://www.webdelphi.ru/proekty/"><span>Проекты</span></a></li>
</ul>
</li>
<li id="menu-item-7435" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7435"><a title="Бесплатные программы" href="http://www.webdelphi.ru/soft-webdelphi-ru/"><span>Софт</span></a></li>
<li id="menu-item-7432" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7432"><a title="Опросы для разработчиков" href="http://www.webdelphi.ru/oprosy/"><span>Опросы</span></a></li>
<li id="menu-item-7436" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7436"><a title="Форум Delphi-программистов" href="http://www.webdelphi.ru/forum/"><span>Форум</span></a></li>
<li id="menu-item-7439" class="rMenu-expand menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-7439"><a title="Категории статей блога" href="http://www.webdelphi.ru/kategorii/"><span>Категории</span></a>
<ul class="rMenu-ver sub-menu">
	<li id="menu-item-7450" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-7450"><a href="http://www.webdelphi.ru/category/osnovi_delphi/"><span>Основы Delphi</span></a></li>
	<li id="menu-item-7440" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7440"><a href="http://www.webdelphi.ru/category/delphi-ide/"><span>Delphi IDE</span></a></li>
	<li id="menu-item-7442" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7442"><a href="http://www.webdelphi.ru/category/delphiweb/"><span>Delphi в Web</span></a></li>
	<li id="menu-item-7443" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7443"><a href="http://www.webdelphi.ru/category/firemonkey-2/"><span>Firemonkey</span></a></li>
	<li id="menu-item-7444" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7444"><a href="http://www.webdelphi.ru/category/lazarus/"><span>Lazarus</span></a></li>
	<li id="menu-item-7446" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7446"><a href="http://www.webdelphi.ru/category/msdn/"><span>MSDN</span></a></li>
	<li id="menu-item-7448" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7448"><a href="http://www.webdelphi.ru/category/delphi-components/"><span>Компоненты Delphi</span></a></li>
	<li id="menu-item-7449" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7449"><a href="http://www.webdelphi.ru/category/my-work/"><span>Моя работа</span></a></li>
	<li id="menu-item-7441" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7441"><a href="http://www.webdelphi.ru/category/delphi-prism/"><span>Delphi Prism</span></a></li>
	<li id="menu-item-7445" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7445"><a href="http://www.webdelphi.ru/category/ms-agent-v-delphi/"><span>MS Agent в Delphi</span></a></li>
	<li id="menu-item-7451" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7451"><a href="http://www.webdelphi.ru/category/seo/"><span>Раскрутка блога</span></a></li>
	<li id="menu-item-7447" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7447"><a href="http://www.webdelphi.ru/category/uncategorized/"><span>Без категории</span></a></li>
</ul>
</li>
<li id="menu-item-7669" class="rMenu-expand menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-7669"><a title="Synapse" href="http://www.webdelphi.ru/tag/synapse/"><span>Synapse</span></a>
<ul class="rMenu-ver sub-menu">
	<li id="menu-item-7672" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7672"><a title="Работа с HTTP(s) в Synapse" href="http://www.webdelphi.ru/rabota-s-protokolom-https-v-synapse/"><span>HTTP(s)</span></a></li>
	<li id="menu-item-7700" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7700"><a title="Работа с WebDAV в Synapse" href="http://www.webdelphi.ru/rabota-s-webdav-v-synapse/"><span>WebDAV</span></a></li>
	<li id="menu-item-7704" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7704"><a title="Работа с XML-RPC в Synapse" href="http://www.webdelphi.ru/xml-rpc-v-synapse/"><span>XML-RPC</span></a></li>
	<li id="menu-item-7706" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7706"><a title="Работа с SMTP в Synapse" href="http://www.webdelphi.ru/rabota-s-smtp-v-synapse/"><span>SMTP</span></a></li>
	<li id="menu-item-7708" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7708"><a title="Работа с POP3 в Synapse" href="http://www.webdelphi.ru/rabota-s-pop3-v-synapse/"><span>POP3</span></a></li>
	<li id="menu-item-7710" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7710"><a title="Работа с IMAP в Synapse" href="http://www.webdelphi.ru/rabota-s-imap-v-synapse/"><span>IMAP</span></a></li>
	<li id="menu-item-7713" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7713"><a title="Работа с FTP в Synapse" href="http://www.webdelphi.ru/rabota-s-ftp-v-synapse/"><span>FTP</span></a></li>
</ul>
</li>
<li id="menu-item-7603" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7603"><a href="http://www.webdelphi.ru/knopka-bablo/"><span>Кнопка «Бабло»</span></a></li>
<li id="menu-item-7409" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7409"><a title="Поиск по WebDelphi.ru" href="http://www.webdelphi.ru/poisk/"><span>Поиск</span></a></li>
</ul></div>
		</td>
		<!-- / Header -->
	</tr>
	<!-- Main Body -->
	<tr id="bodyrow">
				<!-- Left Sidebar -->
		<td id="left">
			<div id="mycustomwidgetaddon-15" class="widget MyCustomWidgetAddon"><div class="widget-title"><h3>Подписка</h3></div> <center>
<!-- Place this tag where you want the widget to render. -->
<div id="___page_0" style="text-indent: 0px; margin: 0px; padding: 0px; background-color: transparent; border-style: none; float: none; line-height: normal; font-size: 1px; vertical-align: baseline; display: inline-block; width: 240px; height: 331px; background-position: initial initial; background-repeat: initial initial;"><iframe frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" style="position: static; top: 0px; width: 240px; margin: 0px; border-style: none; left: 0px; visibility: visible; height: 331px;" tabindex="0" vspace="0" width="100%" id="I0_1388642130980" name="I0_1388642130980" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/page.htm" data-gapiattached="true" title="+Badge"></iframe></div>
</center>
<br>
<center>
</center></div>
<div id="mycustomwidgetaddon-13" class="widget MyCustomWidgetAddon"><div class="widget-title"><h3>Поддержка блога</h3></div> <p>
А тут я коплю <del>на лицензию Delphi XE</del> на iPad =).<br>
Сумма пожертвования не фиксирована.</p>
<div>
<center>
<div align="center"><br>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td><div style="padding: 0.6em; background-color: #DAE6F2; border: 1px solid #B8CFE6; border-radius: 7px; -moz-border-radius: 7px;"><a href="https://money.yandex.ru/embed/?from=sbal" title="Виджеты Яндекс.Денег" rel="nofollow" style="width: 200px; height: 100px; display: block; margin-bottom: 0.6em; background: url(&#39;https://money.yandex.ru/share-balance.xml?id=8560415&amp;key=4F988E5C61ED3012&#39;) 0 0 no-repeat; -background: none; -filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=&#39;https://money.yandex.ru/share-balance.xml?id=8560415&amp;key=4F988E5C61ED3012&#39;, sizingMethod = &#39;crop&#39;);"></a><form action="https://money.yandex.ru/direct-payment.xml" method="post"><input type="hidden" name="receiver" value="41001164868040"><input type="hidden" name="sum" value="0"><input type="hidden" name="destination" value="Яндекс.Деньги — на хорошее дело не жалко!"><input type="hidden" name="FormComment" value="Пожертвование через виджет «Мой баланс»"><input type="submit" value="Поддержать проект" style="margin-top: 0.6em; width: 100%;"></form></div></td></tr></tbody></table>
<br>
<form action="https://advisor.wmtransfer.com/Spasibo.aspx" method="post" target="_blank" title="Передать $пасибо! нашему сайту" rel="nofollow">
<input type="hidden" name="url" value="www.webdelphi.ru">
<input type="image" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/Spasibo!.png" border="0" name="submit" rel="nofollow">
</form>
</div></center></div></div>
<div id="mycustomwidgetaddon-27" class="widget MyCustomWidgetAddon"><div class="widget-title"><h3>Популярные статьи</h3></div> <center><a href="http://www.webdelphi.ru/2009/08/rabota-s-excel-v-delphi-osnovy-osnov/" title="Excel в Delphi"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/ExcelDelphi.png" width="110" height="110" alt="Работа с Excel в Delphi">
</a>
<a href="http://www.webdelphi.ru/2011/07/biblioteka-synapse-rabota-s-modulem-httpsend-pas/" title="Synapse в Delphi"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/synapse.png" width="110" height="110" alt="Работа с Synapse в Delphi"></a>
<a href="http://www.webdelphi.ru/2012/10/delphi-xe3-rabota-s-mac-os-x/" title="Firemonkey - работа с Mac OS"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/firemonkey.png" width="110" height="110" alt="FireMonkey в Delphi"></a>
<a href="http://www.webdelphi.ru/2010/09/sqlite-v-delphi-2010/" title="Работа с SQLite в Delphi"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/sqlite.png" width="110" height="110" alt="Работа с SQLite в Delphi"></a>
</center></div><div id="nsx-referers-widget" class="widget nsx_referers_widget"><div class="widget-title"><h3>Блог находят по фразам:</h3></div><ul><li><a href="http://www.webdelphi.ru/2009/08/rabota-s-excel-v-delphi-osnovy-osnov/">delphi работа с excel</a></li><li><a href="http://www.webdelphi.ru/2010/02/microsoft-word-v-delphi/">delphi word</a></li><li><a href="http://www.webdelphi.ru/">webdelphi.ru</a></li><li><a href="http://www.webdelphi.ru/isxodniki-delphi/">Исходники Delphi</a></li><li><a href="http://www.webdelphi.ru/2009/08/izmenyaem-html-kod-v-webbrowser/">delphi html</a></li></ul></div><div id="mycustomwidgetaddon-10" class="widget MyCustomWidgetAddon"><div class="widget-title"><h3>Сообщества и блоги</h3></div> <center>
<div><center><a href="http://embarcadero.com/ru/mvp-directory" rel="nofollow" target="_blank"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/MVP.png" title="Embarcadero MVP programm"></a></center></div>
<div style="margin-left: 4px"><center>
<a href="http://nmdsoft.blogspot.com/" rel="nofollow"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/nmd_blog.gif" style="width: 88px; height: 31px; border: 0px none" alt="Статьи по Delphi" title="статьи по программированию в Delphi"></a>
<a href="http://www.delphifeeds.ru/" rel="nofollow" title="DelphiFeeds.ru - Все Delphi-блоги Рунета"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/baner8.png" alt="DelphiFeeds.ru - Все Delphi-блоги Рунета" width="81" height="31"></a>
<a href="http://delphiday.blogspot.com/" rel="nofollow"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/bannerdd.jpg" style="width: 88px; height: 31px; border: 0px none" alt="Статьи и уроки по Delphi" title="статьи и уроки по программированию в Delphi" rel="nofollow"></a>
<a href="http://blaisepascal.ru/" rel="nofollow" target="_blank"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/BPM.png" title="Blaiza Pascal Magazine - русская версия журнала о Delphi, Pascal, Lazarus"></a>
</center></div>
<center></center></center></div><div id="mycustomwidgetaddon-25" class="widget MyCustomWidgetAddon"><div class="widget-title"><h3>Двигатель прогресса</h3></div> <!-- Pingmedia 240x400 code START-->
<script language="javascript" type="text/javascript"><!--
if(typeof(ar_cn)=="undefined") var ar_cn=1;
var ar_Tail=document.referrer ? escape(document.referrer) : 'unknown';
var ar_link="http://ad.adriver.ru/cgi-bin/erle.cgi?sid=187492&bt=49&target=blank&tail256=" + ar_Tail;
document.write('<div style="visibility:hidden;height:0px;"><iframe id="ar_container_'+ar_cn+'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_'+ar_cn+'"></div>');
function ar_getDoc(t,n,l){var doc;if(t<100){if(document.all && !window.opera){doc = window.frames['ar_container_'+n].document}
else if(document.getElementById){doc=document.getElementById('ar_container_'+n).contentDocument}
if(!doc){setTimeout('ar_getDoc('+(++t)+','+n+',"'+l+'")', 100)}else {var RndNum4NoCash = Math.round(Math.random() * 1000000000);
doc.write ('<sc'+'ript language="JavaScript" type="text/javascript">var ar_bnum='+n+';</sc'+'ript>');
doc.write ('<sc'+'ript language="JavaScript" type="text/javascript" src="'+l+'&rnd='+RndNum4NoCash+'"></sc'+'ript>');}}}
(function(num,link){function addEvent(e,t,f){if(e.addEventListener)e.addEventListener(t,f,false);else if(e.attachEvent)e.attachEvent('on'+t,f)}
function removeEvent(e,t,f){if(e.removeEventListener)e.removeEventListener(t,f,false);else if(e.detachEvent)e.detachEvent('on'+t,f)}
var BannerLoader={top:0,height:400,cm:document.compatMode=="CSS1Compat",
scroll:function(){var ch=self.innerHeight||this.cm&&document.documentElement.clientHeight||document.body.clientHeight;
var st=self.pageYOffset||this.cm&&document.documentElement.scrollTop||document.body.scrollTop;
var sh=self.scrollHeight||this.cm&&document.documentElement.scrollHeight||document.body.scrollHeight;
if((st-this.top<=this.height*0.2&&st+ch-this.top>=this.height*0.8)||(sh-this.top<=this.height*0.8&&(sh-st-ch<1||sh<ch))){
removeEvent(window,'scroll',this.sfunc);ar_getDoc(0,num,link)}},
sfunc: function(){BannerLoader.scroll()},init:function(){var t=this,obj=document.getElementById('ad_ph_'+num);
if(obj){while(obj.offsetParent){t.top += obj.offsetTop; obj = obj.offsetParent}
addEvent(window,'scroll',this.sfunc);t.scroll()}}};addEvent(window, 'load', function(){BannerLoader.init()})})(ar_cn++,ar_link);
//--></script><div style="visibility:hidden;height:0px;"><iframe id="ar_container_1" width="1" height="1" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"></iframe></div><div id="ad_ph_1" style="width: 240px; height: 400px; display: block;"><iframe id="_poster_iframe_1" width="240" height="400" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/index.htm"></iframe></div>
<!-- Pingmedia 240x400 code END --></div><!--check code--> <a href="http://www.russianflower.ru/dostavka/Moskovskaja_oblast-Odincovo" target="_blank">Доставка цветов одинцово</a> |.  <a href="http://kremlinstore.ru/category/dopolnitelnye-akkumuljatory/" target="_blank">внешний аккумулятор для iphone 5s</a> |.  <a href="http://egidaokon.ru/poleznoe/2945/" target="_blank">деревянные стеклопакеты</a> |.  Новинка 2013! Био-фломастеры: <a href="http://fortalex.ru/registraciya-predstavitelstv" target="_blank">регистрация иностранных представительств</a>. Регистрация подразделений. |.  <a href="http://www.kn.kz/ru/objects/index/section/3115/" target="_blank">Недвижимость Анталии. Продажа, аренда квартир вилл</a> <!--check code--> <div id="DIV_DA_148522">
<div id="DIV_DA_ADP_148522_HIDDEN" style="position: fixed; bottom: 3.15em; right: auto; padding: 1.26em 1.26em 1.26em 0px; z-index: 100000; overflow: hidden; left: 0px; display: none;"><div id="DIV_DA_ADP_148522_HIDDEN_CHILD" style="font-size: 16px; position: relative; display: block; margin: 0em; left: -330px; background-color: rgb(255, 255, 255); padding: 0.6350399951934814em 0.7620479822158813em 0.7620479822158813em; border-top-left-radius: 0.63em; border-top-right-radius: 0.63em; border-bottom-right-radius: 0.63em; border-bottom-left-radius: 0.63em; -webkit-box-shadow: rgb(0, 0, 0) 0px 0px 1.449em -0.252em; box-shadow: rgb(0, 0, 0) 0px 0px 1.449em -0.252em; background-position: initial initial; background-repeat: initial initial;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="10.160639762878418" padding_bottom_da="12.192768096923828" padding_left_da="12.192768096923828" padding_right_da="12.192768096923828" font_size_da="16"><table cellpadding="0" cellspacing="0" style="border: 0px; position: relative; margin: 0em 0em 0em 0.6350399951934814em; padding: 0em; border-collapse: collapse;" margin_top_da="0" margin_bottom_da="0" margin_left_da="10.160639762878418" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><tbody style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><tr style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><td style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16">&nbsp;</td><td style="white-space: nowrap; border-bottom-width: 0.1em; border-bottom-style: solid; border-bottom-color: rgb(238, 238, 238); padding: 0em 0em 0.5080320081710815em; margin: 0em; vertical-align: bottom; text-align: left;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="8.128512382507324" padding_left_da="0" padding_right_da="0" font_size_da="16"><a href="javascript:void(0)" onclick="__da_params.hide(); return false;" style="color: rgb(17, 69, 122); float: right; font-size: 10px; font-family: arial, tahoma; font-weight: bold; text-decoration: underline; width: auto; height: auto; margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="10">Закрыть</a><span style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial, tahoma; font-size: 12px; margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="12">Читайте&nbsp;также</span></td><td style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16">&nbsp;</td></tr><tr style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><td style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16">&nbsp;</td><td id="DIV_DA_ADP_148522_HIDDEN_CHILDContainer" style="margin: 0em; padding: 0.9525599927902222em 0em 0em; color: rgb(153, 153, 153); background-color: rgb(255, 255, 255);" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="15.240960121154785" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16">
<div style="width: 15.120000000000001em; margin: 0em; padding: 0em;" width_da="240" height_da="NaN" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><table cellpadding="0" cellspacing="0" width="240px" style="border-collapse: collapse; width: 15.120000000000001em; margin: 0em; padding: 0em;" width_da="240" height_da="NaN" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><tbody margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><tr margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><td class="da_adp_teaser" width="100%" style="vertical-align: top; padding: 0em 0.9450000000000001em 0.9450000000000001em 0em; border: 0px; text-align: left; width: auto; height: auto; margin: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="15.119999885559082" padding_left_da="0" padding_right_da="15.119999885559082" font_size_da="16">
   <table cellpadding="0" cellspacing="0" border="0" width="100%" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="width: auto; height: auto; margin: 0em; padding: 0em;">
      <tbody margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><tr margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><td class="da_adp_img" style="vertical-align: top; width: 3.7800000000000002em; padding: 0em 0.441em 0em 0em; margin: 0em;" width_da="60" height_da="NaN" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="7.056000232696533" font_size_da="16"><a href="http://code.directadvert.ru/click/?x=BYzM2ITl36Psz3jDBctwSCjs3NnTH7VxHJSHj9GI5ngsvTRxb32wh7IQI3ucU0_VZSOdk0V0vufwiKM6RKeql2kCbMQQr9WMnXGYQ9UEUoQxlXuUNuxnlB8qnIDHNLsRvWbAjNJLnsPp_NyBt5T5ICG-0FLDX28WNIKgvnRSifs9gL9twxMh4hyRiqnWjXqut-mDJ9p-dk1cGs2Jk8VRrDV-8vIq737sPHQxoo93lSZycr8w-_3cRXAX-aOOFS3FBJHxCj8F-AY" target="_blank" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="width: auto; height: auto; margin: 0em; padding: 0em;"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/1490773.jpg" style="width: 3.7800000000000002em; height: 3.7800000000000002em; border: 0px; margin: 0em; padding: 0em;" width_da="60" height_da="60.47999954223633" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"></a></td>
      <td class="da_adp_title" style="vertical-align: top; width: auto; text-align: left; height: auto; margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><a href="http://code.directadvert.ru/click/?x=BYzM2ITl36Psz3jDBctwSCjs3NnTH7VxHJSHj9GI5ngsvTRxb32wh7IQI3ucU0_VZSOdk0V0vufwiKM6RKeql2kCbMQQr9WMnXGYQ9UEUoQxlXuUNuxnlB8qnIDHNLsRvWbAjNJLnsPp_NyBt5T5ICG-0FLDX28WNIKgvnRSifs9gL9twxMh4hyRiqnWjXqut-mDJ9p-dk1cGs2Jk8VRrDV-8vIq737sPHQxoo93lSZycr8w-_3cRXAX-aOOFS3FBJHxCj8F-AY" target="_blank" style="font-family: inherit; font-size: 12px; font-weight: normal; text-decoration: none; color: rgb(0, 0, 0); width: auto; height: auto; margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="12">Людмиле Путиной терять нечего, она открыла все мерзости семейной жизни?</a></td></tr>
   </tbody></table>
</td></tr><tr margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><td class="da_adp_teaser" width="100%" style="vertical-align: top; padding: 0em 0.9450000000000001em 0.9450000000000001em 0em; border: 0px; text-align: left; width: auto; height: auto; margin: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="15.119999885559082" padding_left_da="0" padding_right_da="15.119999885559082" font_size_da="16">
   <table cellpadding="0" cellspacing="0" border="0" width="100%" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="width: auto; height: auto; margin: 0em; padding: 0em;">
      <tbody margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><tr margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><td class="da_adp_img" style="vertical-align: top; width: 3.7800000000000002em; padding: 0em 0.441em 0em 0em; margin: 0em;" width_da="60" height_da="NaN" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="7.056000232696533" font_size_da="16"><a href="http://code.directadvert.ru/click/?x=4xP-e3i6No7BklsG61vGUbXcrJam1fU8f9y-2woRDKe98jwuUj1wy9E3yBgup5_WfOZdvXLOrLUcUKhiLnDICatmp0AcjjRahvmBpmSYo41SzXiHNir_C87F4UP__wNqo_54eN9PNYsj--1Dchr8c-Oc5dN7ouoUwNKqzZ37LDNZ29wPyzkG1Uj2f4WKFMj2Gpe57yLS7QDPiIYHNRf9rZIspkx15ODn8OG8dirIx0QDz1d1nibFQL0ZMK3Gw0v_vlVC4f9gTac" target="_blank" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="width: auto; height: auto; margin: 0em; padding: 0em;"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/1558921.jpg" style="width: 3.7800000000000002em; height: 3.7800000000000002em; border: 0px; margin: 0em; padding: 0em;" width_da="60" height_da="60.47999954223633" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"></a></td>
      <td class="da_adp_title" style="vertical-align: top; width: auto; text-align: left; height: auto; margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><a href="http://code.directadvert.ru/click/?x=4xP-e3i6No7BklsG61vGUbXcrJam1fU8f9y-2woRDKe98jwuUj1wy9E3yBgup5_WfOZdvXLOrLUcUKhiLnDICatmp0AcjjRahvmBpmSYo41SzXiHNir_C87F4UP__wNqo_54eN9PNYsj--1Dchr8c-Oc5dN7ouoUwNKqzZ37LDNZ29wPyzkG1Uj2f4WKFMj2Gpe57yLS7QDPiIYHNRf9rZIspkx15ODn8OG8dirIx0QDz1d1nibFQL0ZMK3Gw0v_vlVC4f9gTac" target="_blank" style="font-family: inherit; font-size: 12px; font-weight: normal; text-decoration: none; color: rgb(0, 0, 0); width: auto; height: auto; margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="12">Трагическое известие из больницы, где находилась дочь Кончаловских!</a></td></tr>
   </tbody></table>
</td></tr><tr margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><td class="da_adp_teaser" width="100%" style="vertical-align: top; padding: 0em 0.9450000000000001em 0.9450000000000001em 0em; border: 0px; text-align: left; width: auto; height: auto; margin: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="15.119999885559082" padding_left_da="0" padding_right_da="15.119999885559082" font_size_da="16">
   <table cellpadding="0" cellspacing="0" border="0" width="100%" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="width: auto; height: auto; margin: 0em; padding: 0em;">
      <tbody margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><tr margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="margin: 0em; padding: 0em;"><td class="da_adp_img" style="vertical-align: top; width: 3.7800000000000002em; padding: 0em 0.441em 0em 0em; margin: 0em;" width_da="60" height_da="NaN" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="7.056000232696533" font_size_da="16"><a href="http://code.directadvert.ru/click/?x=S3ZEqEmKK9D5S5buERxAGvEA7r8AfXx6Zr1MA_J50BLg2PPDd02fTuUDle8eeJfo7-sjA7byn73q6NynPfE5mj6xaj-lAXFDMAhpb1pf_u8WekEU2kjGmgUHK5vzYwM23Qm-kmy4FDAHHhxfuEQlfC06afQjDGyTzFflqH-MCFw8G58x6u92i-CLUrSHXGzE_1OUUTgGDFciKE7QtyHtHvqRJyTu_VedCCPvUG44OEDU6OaU9hQkPbs3d5SyPN4vWZIUip9bKHo" target="_blank" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16" style="width: auto; height: auto; margin: 0em; padding: 0em;"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/1643128.jpg" style="width: 3.7800000000000002em; height: 3.7800000000000002em; border: 0px; margin: 0em; padding: 0em;" width_da="60" height_da="60.47999954223633" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"></a></td>
      <td class="da_adp_title" style="vertical-align: top; width: auto; text-align: left; height: auto; margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><a href="http://code.directadvert.ru/click/?x=S3ZEqEmKK9D5S5buERxAGvEA7r8AfXx6Zr1MA_J50BLg2PPDd02fTuUDle8eeJfo7-sjA7byn73q6NynPfE5mj6xaj-lAXFDMAhpb1pf_u8WekEU2kjGmgUHK5vzYwM23Qm-kmy4FDAHHhxfuEQlfC06afQjDGyTzFflqH-MCFw8G58x6u92i-CLUrSHXGzE_1OUUTgGDFciKE7QtyHtHvqRJyTu_VedCCPvUG44OEDU6OaU9hQkPbs3d5SyPN4vWZIUip9bKHo" target="_blank" style="font-family: inherit; font-size: 12px; font-weight: normal; text-decoration: none; color: rgb(0, 0, 0); width: auto; height: auto; margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="12">Кабаева на всю Россию сделала громкое заявление. Удивлены все</a></td></tr>
   </tbody></table>
</td></tr>
</tbody></table></div>
</td><td style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16">&nbsp;</td></tr><tr style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16"><td style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16">&nbsp;</td><td style="margin: 0em; font-style: normal; font-variant: normal; font-weight: normal; font-size: 9px; font-family: Arial; line-height: 0.756em; border-top-width: 0.2em; border-top-style: solid; border-top-color: rgb(238, 238, 238); padding: 1.2502349567413331em 0em 0em; vertical-align: top; text-align: right;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="11.252114295959473" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="9">
<a href="http://www.directadvert.ru/?source=directadvert.ru&medium=adp&campaign=adp_rollin_left&ad=adp_148522" target="_blank" style="color: rgb(255, 132, 0); margin: 0em 0.315em 0em 0em; width: auto; height: auto; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="2.8350000381469727" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="9"><strong margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="9" style="margin: 0em; padding: 0em;">Direct/ADVERT</strong></a>
<a href="http://www.directadvert.ru/?source=directadvert.ru&medium=adp&campaign=adp_rollin_left&ad=adp_148522" target="_blank" style="white-space: nowrap; color: rgb(17, 69, 122); width: auto; height: auto; margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="9">Дать объявление</a>
</td><td style="margin: 0em; padding: 0em;" margin_top_da="0" margin_bottom_da="0" margin_left_da="0" margin_right_da="0" padding_top_da="0" padding_bottom_da="0" padding_left_da="0" padding_right_da="0" font_size_da="16">&nbsp;</td></tr></tbody></table></div></div></div>
<div>
<a href="http://www.orphus.ru/" id="orphus" target="_blank" rel="nofollow"><img alt="Система Orphus" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/orphus.gif" border="0" width="100%" height="48"></a>
<center>
<!-- Yandex.Metrika informer --><a href="http://metrika.yandex.ru/stat/?id=195533&from=informer" target="_blank" rel="nofollow"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/1_1_C5F6FFFF_A5D6F5FF_0_pageviews" style="width:80px; height:15px; border:0;" alt="Яндекс.Метрика" title="Яндекс.Метрика: данные за сегодня (просмотры)" onclick="try{Ya.Metrika.informer({i:this,id:195533,lang:&#39;ru&#39;});return false}catch(e){}"></a><!-- /Yandex.Metrika informer --><!-- Yandex.Metrika counter --><script type="text/javascript">(function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter195533 = new Ya.Metrika({id:195533, clickmap:true, trackLinks:true, accurateTrackBounce:true}); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks");</script><noscript>&lt;div&gt;&lt;img src="//mc.yandex.ru/watch/195533" style="position:absolute; left:-9999px;" alt="" /&gt;&lt;/div&gt;</noscript><!-- /Yandex.Metrika counter -->
<!--Rating@Mail.ru counter-->
	<noindex><script language="javascript" type="text/javascript"><!--
	d=document;var a='';a+=';r='+escape(d.referrer);js=10;//--></script>
	<script language="javascript1.1" type="text/javascript"><!--
	a+=';j='+navigator.javaEnabled();js=11;//--></script>
	<script language="javascript1.2" type="text/javascript"><!--
	s=screen;a+=';s='+s.width+'*'+s.height;
	a+=';d='+(s.colorDepth?s.colorDepth:s.pixelDepth);js=12;//--></script>
	<script language="javascript1.3" type="text/javascript"><!--
	js=13;//--></script><script language="javascript" type="text/javascript"><!--
	d.write('<noindex><a href="http://top.mail.ru/jump?from=1726902" rel="nofollow" target="_top">'+
	'<img src="http://d9.c5.ba.a1.top.mail.ru/counter?id=1726902;t=172;js='+js+
	a+';rand='+Math.random()+'" alt="Рейтинг@Mail.ru" border="0" '+
	'height="15" width="88" rel="nofollow"></a></noindex>');if(11<js)d.write('<'+'!-- ');//--></script><noindex><a href="http://top.mail.ru/jump?from=1726902" rel="nofollow" target="_top"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/counter" alt="Рейтинг@Mail.ru" border="0" height="15" width="88" rel="nofollow"></a></noindex><!-- 
	<noscript><a target="_top" href="http://top.mail.ru/jump?from=1726902" rel="nofollow">
	<img src="http://d9.c5.ba.a1.top.mail.ru/counter?js=na;id=1726902;t=172"  
	height="15" width="88" border="0" alt="Рейтинг@Mail.ru" rel="nofollow"></a></noscript>
	<script language="javascript" type="text/javascript"><!--
	if(11<js)d.write('--'+'>');//--></noindex>
	<!--// Rating@Mail.ru counter-->
</center>
</div>
		</td>
		<!-- / Left Sidebar -->
		<!-- Main Column -->
		<td id="middle">
				<div class="clearfix navigation-top">
		<div class="older">« <a href="http://www.webdelphi.ru/2009/08/chto-mozhno-vytashhit-iz-doma/" rel="next">Что можно «вытащить» из DOM’а?</a> &nbsp;</div><div class="newer">&nbsp; <a href="http://www.webdelphi.ru/2009/08/para-slov-o-novom-blevantone/" rel="prev">Пара слов о новом «Блевантоне».</a> »</div></div>				<div class="post-197 post type-post status-publish format-standard hentry category-osnovi_delphi tag-delphi tag-richedit tag-algoritm tag-podsvetka tag-stroki odd" id="post-197">
						<div class="post-headline"><h1>Подсветка синтаксиса. Алгоритм Delphi.</h1></div>		<div class="post-byline"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/user.gif" alt=""> Опубликовал: <strong>Vlad</strong> <img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/date.gif" alt=""> 19 августа, 2009 <img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/folder.gif" alt=""> Категории: <a href="http://www.webdelphi.ru/category/osnovi_delphi/" title="Просмотреть все записи в рубрике «Основы Delphi»" rel="category tag">Основы Delphi</a></div>		<div class="post-bodycopy clearfix"><p>Сегодня я хотел бы поделиться с Вами ещё одним <a href="http://www.webdelphi.ru/tag/algoritm/" target="_blank">алгоритмом </a>- подсветкой синтаксиса (или другого текста).</p>
<p>Как Вы, наверное, могли заметить в своем блоге я стараюсь связать теорию с практикой. Например, <a href="http://www.webdelphi.ru/2009/08/oblako-tegov-na-delphi/" target="_blank">алгоритм облака тегов на </a><strong><em><a href="http://www.webdelphi.ru/2009/08/oblako-tegov-na-delphi/" target="_blank">Delphi</a> </em></strong>я сейчас использую в программе «<a href="http://www.webdelphi.ru/2009/08/primenenie-oblaka-tegov-na-delphi-blevanton-v-0-1/" target="_blank">Блевантон</a>» и т.д. <em>Алгоритм подсветки синтаксиса</em> тоже не исключение — он используется в новой версии <a href="http://www.webdelphi.ru/2009/08/primenenie-oblaka-tegov-na-delphi-blevanton-v-0-1/" target="_blank">моего детища</a>.</p>
<p>Итак, пусть перед нами стоит задача — сделать простенький <strong><em>редактор с подсветкой синтаксиса</em></strong>. Для примера возьмем язык SQL. Самым подходящим для этой цели компонентом является <strong><em>TRichEdit </em></strong>- прост в использовании и имеет все возможности для работы с текстом.<span id="more-197"></span></p>
<p>Размещаем <em><strong>RichEdit </strong></em>на форме и начинаем заниматься «кодвством». Для того, чтобы наш алгоритм был полезен всем, я разместил его в отдельном модуле (<em>uSyntax</em>).</p>
<p>Наша программа должна уметь:</p>
<ol>
<li>Определять слово, которое необходимо подсветить</li>
<li>Автоматически подсвечивать синтаксис при вставке текста из буфера обмена</li>
<li>и конечно же — быстро работать :)</li>
</ol>
<p>Пойдем по пунктам. Функцию определения слова для <em>подсветки</em> я написал следующим образом:</p>
<div class="wp_syntax"><table><tbody><tr><td class="code"><pre class="delphi" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> CheckList<span style="color: #000066;">(</span>InString<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">string</span><span style="color: #000066;">)</span><span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">boolean</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">var</span> X<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">integer</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">begin</span>
  Result <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #000000; font-weight: bold;">false</span><span style="color: #000066;">;</span>
  X <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #0000ff;">0</span><span style="color: #000066;">;</span>
  InString <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #000066;">StringReplace</span><span style="color: #000066;">(</span>InString<span style="color: #000066;">,</span> <span style="color: #ff0000;">' '</span><span style="color: #000066;">,</span> <span style="color: #ff0000;">''</span><span style="color: #000066;">,</span><span style="color: #000066;">[</span>rfReplaceAll<span style="color: #000066;">]</span><span style="color: #000066;">)</span><span style="color: #000066;">;</span>
  InString <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #000066;">StringReplace</span><span style="color: #000066;">(</span>InString<span style="color: #000066;">,</span> <span style="color: #ff0000;">#$A</span><span style="color: #000066;">,</span> <span style="color: #ff0000;">''</span><span style="color: #000066;">,</span><span style="color: #000066;">[</span>rfReplaceAll<span style="color: #000066;">]</span><span style="color: #000066;">)</span><span style="color: #000066;">;</span>
  InString <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #000066;">StringReplace</span><span style="color: #000066;">(</span>InString<span style="color: #000066;">,</span> <span style="color: #ff0000;">#$D</span><span style="color: #000066;">,</span> <span style="color: #ff0000;">''</span><span style="color: #000066;">,</span><span style="color: #000066;">[</span>rfReplaceAll<span style="color: #000066;">]</span><span style="color: #000066;">)</span><span style="color: #000066;">;</span>
  <span style="color: #000000; font-weight: bold;">while</span> X &amp;lt<span style="color: #000066;">;</span> BuildStops<span style="color: #000066;">.</span><span style="color: #006600;">Count</span> <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000066;">AnsiLowerCase</span><span style="color: #000066;">(</span>BuildStops<span style="color: #000066;">.</span><span style="color: #006600;">Strings</span><span style="color: #000066;">[</span>X<span style="color: #000066;">]</span><span style="color: #000066;">)</span> <span style="color: #000066;">=</span> <span style="color: #000066;">AnsiLowerCase</span><span style="color: #000066;">(</span>InString<span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">then</span>
      <span style="color: #000000; font-weight: bold;">begin</span>
       Result<span style="color: #000066;">:</span><span style="color: #000066;">=</span><span style="color: #000000; font-weight: bold;">true</span><span style="color: #000066;">;</span>
       X<span style="color: #000066;">:</span><span style="color: #000066;">=</span>BuildStops<span style="color: #000066;">.</span><span style="color: #006600;">Count</span><span style="color: #000066;">;</span>
      <span style="color: #000000; font-weight: bold;">end</span>
    <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000066;">inc</span><span style="color: #000066;">(</span>X<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></pre></td></tr></tbody></table></div>
<p>Здесь мы: вначале удаляем из строки все пробелы и управляющие символы, а затем проходим в цикле по списку слов <em>BuildStops </em>в поисках заданной строки <em>InString</em>. Если строка обнаружена, то это слово для подсветки. При этом Вы можете записать в список <em> </em>любое количество слов и конструкция языка для подсветки — наш редактор не прихотлив в использовании и сможет подсветить всё, что пожелаете.</p>
<p>Следующий шаг — подсвечиваем слово в <strong><em>RichEdit</em></strong>. Для того, чтобы дать пользователю самомы выбирать цвет подсветки я определил следующий тип данных:</p>
<div class="wp_syntax"><table><tbody><tr><td class="code"><pre class="delphi" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">type</span>
TColorer <span style="color: #000066;">=</span> <span style="color: #000000; font-weight: bold;">record</span>
  FontSize<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">integer</span><span style="color: #000066;">;</span>&nbsp; <span style="color: #808080; font-style: italic;">//размер шрифта для слов с подсветкой</span>
  CurrSize<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">integer</span><span style="color: #000066;">;</span>&nbsp; <span style="color: #808080; font-style: italic;">//размер основного текста</span>
  FontColor<span style="color: #000066;">:</span> TColor<span style="color: #000066;">;</span> <span style="color: #808080; font-style: italic;">//цвет подсветки</span>
  CurrColor<span style="color: #000066;">:</span> TColor<span style="color: #000066;">;</span> <span style="color: #808080; font-style: italic;">//цвет основного текста</span>
<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></pre></td></tr></tbody></table></div>
<p>А вы например можете сделать многоцветную подсветку, но для этого Вам потребуется задать как минимум ещё один список слов для поиска.</p>
<p>Теперь сама процедура. На мой взгляд, наиболее целесообразно вызывать процедуру подсветки в определенный момент, например при отпускании клавиши «Пробел», а не держать её в отдельном потоке.</p>
<div class="wp_syntax"><table><tbody><tr><td class="code"><pre class="delphi" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">procedure</span> RichEditKeyUp<span style="color: #000066;">(</span>REdit<span style="color: #000066;">:</span>TRichEdit<span style="color: #000066;">;</span> <span style="color: #000000; font-weight: bold;">var</span> Key<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">Word</span><span style="color: #000066;">;</span> Shift<span style="color: #000066;">:</span> TShiftState<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">var</span> WEnd<span style="color: #000066;">,</span> WStart<span style="color: #000066;">,</span> BCount<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">integer</span><span style="color: #000066;">;</span>
Mark<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">string</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">begin</span>
<span style="color: #808080; font-style: italic;">{условие при котором начинает работу алгоритм подсветки синтаксиса}</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000066;">(</span>Key <span style="color: #000066;">=</span> VK_Return<span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #000066;">(</span>Key <span style="color: #000066;">=</span> VK_Back<span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #000066;">(</span>Key <span style="color: #000066;">=</span> VK_Space<span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000000; font-weight: bold;">if</span> REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelStart</span> &amp;gt<span style="color: #000066;">;</span> <span style="color: #0000ff;">1</span> <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #000000; font-weight: bold;">begin</span>
          WStart <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #0000ff;">0</span><span style="color: #000066;">;</span>
          WEnd <span style="color: #000066;">:</span><span style="color: #000066;">=</span> REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelStart</span><span style="color: #000066;">;</span>
          BCount <span style="color: #000066;">:</span><span style="color: #000066;">=</span> WEnd <span style="color: #000066;">-</span> <span style="color: #0000ff;">1</span><span style="color: #000066;">;</span>
          <span style="color: #000000; font-weight: bold;">while</span> BCount &amp;lt<span style="color: #000066;">;</span>&amp;gt<span style="color: #000066;">;</span> <span style="color: #0000ff;">0</span> <span style="color: #000000; font-weight: bold;">do</span>
            <span style="color: #000000; font-weight: bold;">begin</span>
              Mark <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #000066;">copy</span><span style="color: #000066;">(</span>REdit<span style="color: #000066;">.</span><span style="color: #006600;">Text</span><span style="color: #000066;">,</span> BCount<span style="color: #000066;">,</span> <span style="color: #0000ff;">1</span><span style="color: #000066;">)</span><span style="color: #000066;">;</span>
              <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000066;">(</span>Mark <span style="color: #000066;">=</span> <span style="color: #ff0000;">' '</span><span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #000066;">(</span>Mark <span style="color: #000066;">=</span> <span style="color: #ff0000;">#$A</span><span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">then</span>
                <span style="color: #000000; font-weight: bold;">begin</span>
                  WStart <span style="color: #000066;">:</span><span style="color: #000066;">=</span> BCount<span style="color: #000066;">;</span>
                  BCount <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #0000ff;">1</span><span style="color: #000066;">;</span>
                <span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span>
              <span style="color: #000066;">dec</span><span style="color: #000066;">(</span>BCount<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
            <span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span>
          <span style="color: #808080; font-style: italic;">{выделяем слово}</span>
          REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelStart</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> WEnd <span style="color: #000066;">-</span> <span style="color: #000066;">(</span>WEnd <span style="color: #000066;">-</span> WStart<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
          REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelLength</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> WEnd <span style="color: #000066;">-</span> WStart<span style="color: #000066;">;</span>
          <span style="color: #808080; font-style: italic;">{проверяем его в списке и, если необходимо - подсвечиваем}</span>
          <span style="color: #000000; font-weight: bold;">if</span> CheckList<span style="color: #000066;">(</span>REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelText</span><span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">then</span>
            <span style="color: #000000; font-weight: bold;">begin</span>
              REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Size</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">FontSize</span><span style="color: #000066;">;</span>
              REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Color</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">FontColor</span><span style="color: #000066;">;</span>
            <span style="color: #000000; font-weight: bold;">end</span>
          <span style="color: #000000; font-weight: bold;">else</span>
            <span style="color: #000000; font-weight: bold;">begin</span>
              REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Size</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">CurrSize</span><span style="color: #000066;">;</span>
              REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Color</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">CurrColor</span><span style="color: #000066;">;</span>
            <span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span>
         <span style="color: #808080; font-style: italic;">{не забываем поставить каретку на место и установить шрифт для основного текста}</span>
         REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelStart</span> <span style="color: #000066;">:</span><span style="color: #000066;">=</span> WEnd<span style="color: #000066;">;</span>
         REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Size</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">CurrSize</span><span style="color: #000066;">;</span>
         REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Color</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">CurrColor</span><span style="color: #000066;">;</span>
       <span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span>
    <span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></pre></td></tr></tbody></table></div>
<p>Ну, и наконец процедура подсветки синтаксиса при вставлении большого куска текста из буфера обмена:</p>
<div class="wp_syntax"><table><tbody><tr><td class="code"><pre class="delphi" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">procedure</span> HighLight<span style="color: #000066;">(</span>REdit<span style="color: #000066;">:</span> TRichEdit<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">var</span> WStart<span style="color: #000066;">,</span> WEnd<span style="color: #000066;">,</span> WEnd2<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">integer</span><span style="color: #000066;">;</span>
    WorkSpace<span style="color: #000066;">,</span> SWord<span style="color: #000066;">:</span> <span style="color: #000066; font-weight: bold;">string</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">begin</span>
  WStart&nbsp; <span style="color: #000066;">:</span><span style="color: #000066;">=</span>&nbsp; <span style="color: #0000ff;">1</span><span style="color: #000066;">;</span>
  WEnd&nbsp; <span style="color: #000066;">:</span><span style="color: #000066;">=</span>&nbsp; <span style="color: #0000ff;">1</span><span style="color: #000066;">;</span>
  <span style="color: #000000; font-weight: bold;">with</span>&nbsp; REdit <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">begin</span>
      WorkSpace&nbsp; <span style="color: #000066;">:</span><span style="color: #000066;">=</span>&nbsp; Text <span style="color: #000066;">+</span> <span style="color: #ff0000;">' '</span> <span style="color: #000066;">+</span> <span style="color: #ff0000;">#$D</span><span style="color: #ff0000;">#$A</span><span style="color: #000066;">;</span>
      <span style="color: #000000; font-weight: bold;">while</span> WEnd &amp;gt<span style="color: #000066;">;</span> <span style="color: #0000ff;">0</span> <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #000000; font-weight: bold;">begin</span>
          WEnd <span style="color: #000066;">:</span><span style="color: #000066;">=</span> SearchFor<span style="color: #000066;">(</span>WorkSpace<span style="color: #000066;">,</span> <span style="color: #ff0000;">' '</span><span style="color: #000066;">,</span> WStart<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
          WEnd2 <span style="color: #000066;">:</span><span style="color: #000066;">=</span> SearchFor<span style="color: #000066;">(</span>WorkSpace<span style="color: #000066;">,</span> <span style="color: #ff0000;">#$A</span><span style="color: #000066;">,</span> WStart<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
          <span style="color: #000000; font-weight: bold;">if</span> WEnd2 &amp;lt<span style="color: #000066;">;</span> WEnd <span style="color: #000000; font-weight: bold;">then</span> WEnd <span style="color: #000066;">:</span><span style="color: #000066;">=</span> WEnd2<span style="color: #000066;">;</span>
            SWord <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #000066;">copy</span><span style="color: #000066;">(</span>WorkSpace<span style="color: #000066;">,</span> WStart<span style="color: #000066;">,</span> WEnd <span style="color: #000066;">-</span> <span style="color: #0000ff;">1</span><span style="color: #000066;">)</span><span style="color: #000066;">;</span>
          <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000066;">(</span>SWord &amp;lt<span style="color: #000066;">;</span>&amp;gt<span style="color: #000066;">;</span> <span style="color: #ff0000;">' '</span><span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">and</span> <span style="color: #000066;">(</span>SWord &amp;lt<span style="color: #000066;">;</span>&amp;gt<span style="color: #000066;">;</span><span style="color: #ff0000;">''</span><span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">then</span>
            <span style="color: #000000; font-weight: bold;">if</span> CheckList<span style="color: #000066;">(</span>SWord<span style="color: #000066;">)</span> <span style="color: #000000; font-weight: bold;">then</span>
              <span style="color: #000000; font-weight: bold;">begin</span>
                SelStart&nbsp; <span style="color: #000066;">:</span><span style="color: #000066;">=</span> WStart <span style="color: #000066;">-</span> <span style="color: #0000ff;">1</span><span style="color: #000066;">;</span>
                SelLength <span style="color: #000066;">:</span><span style="color: #000066;">=</span> <span style="color: #000066;">length</span><span style="color: #000066;">(</span>SWord<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
                REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Size</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">FontSize</span><span style="color: #000066;">;</span>
                REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Color</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">FontColor</span><span style="color: #000066;">;</span>
                SelStart <span style="color: #000066;">:</span><span style="color: #000066;">=</span> WStart <span style="color: #000066;">+</span> <span style="color: #000066;">length</span><span style="color: #000066;">(</span>SWord<span style="color: #000066;">)</span> <span style="color: #000066;">+</span> <span style="color: #0000ff;">1</span><span style="color: #000066;">;</span>
                REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Size</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">CurrSize</span><span style="color: #000066;">;</span>
                REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Color</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">CurrColor</span><span style="color: #000066;">;</span>
              <span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span>
      WStart <span style="color: #000066;">:</span><span style="color: #000066;">=</span> WStart <span style="color: #000066;">+</span> WEnd<span style="color: #000066;">;</span>
    <span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span>
  SelStart<span style="color: #000066;">:</span><span style="color: #000066;">=</span><span style="color: #000066;">length</span><span style="color: #000066;">(</span>Text<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
  SetFocus<span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></pre></td></tr></tbody></table></div>
<p>Располагаем процедуру <em>RichEditKeyUp </em>на событие <em>OnKeyUp </em>у Вашего <em>RichEdit</em>, а процедуру <em>HighLight</em>, например на нажатие кнопку <em>Button </em>на форме.</p>
<p>Ну, а для того, чтобы снять подсветку с текста, достаточно написать простенькую процедуру:</p>
<div class="wp_syntax"><table><tbody><tr><td class="code"><pre class="delphi" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">procedure</span> RemoveHightLight<span style="color: #000066;">(</span>REdit<span style="color: #000066;">:</span> TRichEdit<span style="color: #000066;">)</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">var</span> WEnd<span style="color: #000066;">:</span><span style="color: #000066; font-weight: bold;">integer</span><span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">begin</span>
  WEnd<span style="color: #000066;">:</span><span style="color: #000066;">=</span>REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelStart</span><span style="color: #000066;">;</span>
  REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelectAll</span><span style="color: #000066;">;</span>
  REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Color</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">CurrColor</span><span style="color: #000066;">;</span>
  REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelAttributes</span><span style="color: #000066;">.</span><span style="color: #006600;">Size</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>Colorer<span style="color: #000066;">.</span><span style="color: #006600;">CurrSize</span><span style="color: #000066;">;</span>
  REdit<span style="color: #000066;">.</span><span style="color: #006600;">SelStart</span><span style="color: #000066;">:</span><span style="color: #000066;">=</span>WEnd<span style="color: #000066;">;</span>
<span style="color: #000000; font-weight: bold;">end</span><span style="color: #000066;">;</span></pre></td></tr></tbody></table></div>
<p><strong><em>Алгоритм подсветки синтаксиса на Delphi</em></strong> готов. В прилагаемом в конце статьи архиве Вы найдете модуль <em>uSyntax </em>для использования в своей программе и список зарезервированных слов SQL для того, чтобы сразу проверить модуль в действии. <a href="http://feeds.feedburner.com/myDelphi" target="_blank" rel="nofollow">Подписывайтесь на RSS</a> и узнаете ещё больше</p>
<p><strong>Скачать исходник:</strong><br>
<a href="http://www.webdelphi.ru/wp-content/plugins/download-monitor/download.php?id=109" title="Загружен 745 раз">Модуль для подсветки синтаксиса в RichEdit</a>(2.01 kB) </p>
<div class="article_separator"> </div> <div align="center" class="content_path"><b>Понравилась статья? Тогда:</b></div> <table width="100%"> <tbody><tr>   <td align="center"><font color="blue">Делись!</font></td>   <td align="center"><font color="green">Загружай!</font></td>   <td align="center"><font color="red">Плюсуй!</font></td>   <td align="center"><font color="blue">Скажи "Спасибо"!</font></td> </tr> <tr>     <td align="center">       <div class="yashare-auto-init" data-yasharel10n="ru" data-yasharetype="none" data-yasharequickservices="yaru,vkontakte,facebook,twitter,lj">     </div>     </td>     <td align="center">       <div class="pdf24Plugin-cp">         <form name="pdf24Form" method="post" action="http://doc2pdf.pdf24.org/wordpress.php" target="pdf24PopWin" onsubmit="var pdf24Win = window.open(&#39;about:blank&#39;, &#39;pdf24PopWin&#39;, &#39;resizable=yes,scrollbars=yes,width=400,height=200,top=0,left=0&#39;); pdf24Win.focus();"> 		<input type="hidden" name="blogCharset" value="VVRGLTg="><input type="hidden" name="blogPosts" value="MQ=="><input type="hidden" name="blogUrl" value="aHR0cDovL3d3dy53ZWJkZWxwaGkucnU="><input type="hidden" name="blogName" value="RGVscGhpINCyIEludGVybmV0"><input type="hidden" name="blogValueEncoding" value="base64"><input type="hidden" name="blogEmailText" value="0KHQv9Cw0YHQuNCx0L4g0JLQsNC8INC30LAg0L/RgNC+0Y/QstC70LXQvdC90YvQuSDQuNC90YLQtdGA0LXRgSDQuiDQsdC70L7Qs9GDIHdlYmRlbHBoaS5ydSENCtCd0LDQtNC10LXQvNGB0Y8sINGH0YLQviDRjdGC0LAg0YHRgtCw0YLRjNGPINC/0YDQuNC90LXRgdC10YIg0JLQsNC8INC/0L7Qu9GM0LfRgyDQsiDQktCw0YjQtdC5INGA0LDQsdC+0YLQtS4NCg0K0KEg0L3QsNC40LvRg9GH0YjQuNC80Lgg0L/QvtC20LXQu9Cw0L3QuNGP0LzQuCwNCtCw0LLRgtC+0YDRiyDQsdC70L7Qs9CwIDxhIGhyZWY9Imh0dHA6Ly93d3cud2ViZGVscGhpLnJ1Ij53ZWJkZWxwaGkucnU8L2E+"><input type="hidden" name="blogEmailType" value="dGV4dC9odG1s"><input type="hidden" name="blogEmailSubject" value="0JLQsNGI0LAgcGRmLdCy0LXRgNGB0LjRjyDRgdGC0LDRgtGM0Lgg0YEgV2ViRGVscGhpLnJ1"><input type="hidden" name="blogEmailFrom" value="YWRtaW5Ad2ViZGVscGhpLnJ1"><input type="hidden" name="blogDocHeader" value="0KHRgtCw0YLRjNGPINC40Lcg0LHQu9C+0LPQsCBXZWJEZWxwaGkucnU="><input type="hidden" name="blogDocSize" value="MjEweDI5Nw=="><input type="hidden" name="blogDocOrientation" value="cG9ydHJhaXQ="><input type="hidden" name="blogDocStyle" value=""><input type="hidden" name="postTitle_0" value="0J/QvtC00YHQstC10YLQutCwINGB0LjQvdGC0LDQutGB0LjRgdCwLiDQkNC70LPQvtGA0LjRgtC8IERlbHBoaS4="><input type="hidden" name="postLink_0" value="aHR0cDovL3d3dy53ZWJkZWxwaGkucnUvMjAwOS8wOC9wb2RzdmV0a2Etc2ludGFrc2lzYS1hbGdvcml0bS1kZWxwaGkv"><input type="hidden" name="postAuthor_0" value="VmxhZA=="><input type="hidden" name="postDateTime_0" value="MjAwOS0wOC0xOSAwNzowODowOA=="><input type="hidden" name="postContent_0" value="PHA+0KHQtdCz0L7QtNC90Y8g0Y8g0YXQvtGC0LXQuyDQsdGLINC/0L7QtNC10LvQuNGC0YzRgdGPINGBINCS0LDQvNC4INC10YnRkSDQvtC00L3QuNC8IDxhIGhyZWY9Imh0dHA6Ly93d3cud2ViZGVscGhpLnJ1L3RhZy9hbGdvcml0bS8iIHRhcmdldD0iX2JsYW5rIj7QsNC70LPQvtGA0LjRgtC80L7QvCA8L2E+LSDQv9C+0LTRgdCy0LXRgtC60L7QuSDRgdC40L3RgtCw0LrRgdC40YHQsCAo0LjQu9C4INC00YDRg9Cz0L7Qs9C+INGC0LXQutGB0YLQsCkuPC9wPgo8cD7QmtCw0Log0JLRiywg0L3QsNCy0LXRgNC90L7QtSwg0LzQvtCz0LvQuCDQt9Cw0LzQtdGC0LjRgtGMINCyINGB0LLQvtC10Lwg0LHQu9C+0LPQtSDRjyDRgdGC0LDRgNCw0Y7RgdGMINGB0LLRj9C30LDRgtGMINGC0LXQvtGA0LjRjiDRgSDQv9GA0LDQutGC0LjQutC+0LkuINCd0LDQv9GA0LjQvNC10YAsIDxhIGhyZWY9Imh0dHA6Ly93d3cud2ViZGVscGhpLnJ1LzIwMDkvMDgvb2JsYWtvLXRlZ292LW5hLWRlbHBoaS8iIHRhcmdldD0iX2JsYW5rIj7QsNC70LPQvtGA0LjRgtC8INC+0LHQu9Cw0LrQsCDRgtC10LPQvtCyINC90LAgPC9hPjxzdHJvbmc+PGVtPjxhIGhyZWY9Imh0dHA6Ly93d3cud2ViZGVscGhpLnJ1LzIwMDkvMDgvb2JsYWtvLXRlZ292LW5hLWRlbHBoaS8iIHRhcmdldD0iX2JsYW5rIj5EZWxwaGk8L2E+IDwvZW0+PC9zdHJvbmc+0Y8g0YHQtdC50YfQsNGBINC40YHQv9C+0LvRjNC30YPRjiDQsiDQv9GA0L7Qs9GA0LDQvNC80LUgJiMxNzE7PGEgaHJlZj0iaHR0cDovL3d3dy53ZWJkZWxwaGkucnUvMjAwOS8wOC9wcmltZW5lbmllLW9ibGFrYS10ZWdvdi1uYS1kZWxwaGktYmxldmFudG9uLXYtMC0xLyIgdGFyZ2V0PSJfYmxhbmsiPtCR0LvQtdCy0LDQvdGC0L7QvTwvYT4mIzE4Nzsg0Lgg0YIu0LQuIDxlbT7QkNC70LPQvtGA0LjRgtC8INC/0L7QtNGB0LLQtdGC0LrQuCDRgdC40L3RgtCw0LrRgdC40YHQsDwvZW0+INGC0L7QttC1INC90LUg0LjRgdC60LvRjtGH0LXQvdC40LUgJiM4MjEyOyDQvtC9INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQsiDQvdC+0LLQvtC5INCy0LXRgNGB0LjQuCA8YSBocmVmPSJodHRwOi8vd3d3LndlYmRlbHBoaS5ydS8yMDA5LzA4L3ByaW1lbmVuaWUtb2JsYWthLXRlZ292LW5hLWRlbHBoaS1ibGV2YW50b24tdi0wLTEvIiB0YXJnZXQ9Il9ibGFuayI+0LzQvtC10LPQviDQtNC10YLQuNGJ0LA8L2E+LjwvcD4KPHA+0JjRgtCw0LosINC/0YPRgdGC0Ywg0L/QtdGA0LXQtCDQvdCw0LzQuCDRgdGC0L7QuNGCINC30LDQtNCw0YfQsCAmIzgyMTI7INGB0LTQtdC70LDRgtGMINC/0YDQvtGB0YLQtdC90YzQutC40LkgPHN0cm9uZz48ZW0+0YDQtdC00LDQutGC0L7RgCDRgSDQv9C+0LTRgdCy0LXRgtC60L7QuSDRgdC40L3RgtCw0LrRgdC40YHQsDwvZW0+PC9zdHJvbmc+LiDQlNC70Y8g0L/RgNC40LzQtdGA0LAg0LLQvtC30YzQvNC10Lwg0Y/Qt9GL0LogU1FMLiDQodCw0LzRi9C8INC/0L7QtNGF0L7QtNGP0YnQuNC8INC00LvRjyDRjdGC0L7QuSDRhtC10LvQuCDQutC+0LzQv9C+0L3QtdC90YLQvtC8INGP0LLQu9GP0LXRgtGB0Y8gPHN0cm9uZz48ZW0+VFJpY2hFZGl0IDwvZW0+PC9zdHJvbmc+LSDQv9GA0L7RgdGCINCyINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC4INC4INC40LzQtdC10YIg0LLRgdC1INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDRgtC10LrRgdGC0L7QvC48c3BhbiBpZD0ibW9yZS0xOTciPjwvc3Bhbj48L3A+CjxwPtCg0LDQt9C80LXRidCw0LXQvCA8ZW0+PHN0cm9uZz5SaWNoRWRpdCA8L3N0cm9uZz48L2VtPtC90LAg0YTQvtGA0LzQtSDQuCDQvdCw0YfQuNC90LDQtdC8INC30LDQvdC40LzQsNGC0YzRgdGPICYjMTcxO9C60L7QtNCy0YHRgtCy0L7QvCYjMTg3Oy4g0JTQu9GPINGC0L7Qs9C+LCDRh9GC0L7QsdGLINC90LDRiCDQsNC70LPQvtGA0LjRgtC8INCx0YvQuyDQv9C+0LvQtdC30LXQvSDQstGB0LXQvCwg0Y8g0YDQsNC30LzQtdGB0YLQuNC7INC10LPQviDQsiDQvtGC0LTQtdC70YzQvdC+0Lwg0LzQvtC00YPQu9C1ICg8ZW0+dVN5bnRheDwvZW0+KS48L3A+CjxwPtCd0LDRiNCwINC/0YDQvtCz0YDQsNC80LzQsCDQtNC+0LvQttC90LAg0YPQvNC10YLRjDo8L3A+CjxvbD4KPGxpPtCe0L/RgNC10LTQtdC70Y/RgtGMINGB0LvQvtCy0L4sINC60L7RgtC+0YDQvtC1INC90LXQvtCx0YXQvtC00LjQvNC+INC/0L7QtNGB0LLQtdGC0LjRgtGMPC9saT4KPGxpPtCQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INC/0L7QtNGB0LLQtdGH0LjQstCw0YLRjCDRgdC40L3RgtCw0LrRgdC40YEg0L/RgNC4INCy0YHRgtCw0LLQutC1INGC0LXQutGB0YLQsCDQuNC3INCx0YPRhNC10YDQsCDQvtCx0LzQtdC90LA8L2xpPgo8bGk+0Lgg0LrQvtC90LXRh9C90L4g0LbQtSAmIzgyMTI7INCx0YvRgdGC0YDQviDRgNCw0LHQvtGC0LDRgtGMIDopPC9saT4KPC9vbD4KPHA+0J/QvtC50LTQtdC8INC/0L4g0L/Rg9C90LrRgtCw0LwuINCk0YPQvdC60YbQuNGOINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0YHQu9C+0LLQsCDQtNC70Y8gPGVtPtC/0L7QtNGB0LLQtdGC0LrQuDwvZW0+INGPINC90LDQv9C40YHQsNC7INGB0LvQtdC00YPRjtGJ0LjQvCDQvtCx0YDQsNC30L7QvDo8L3A+Cgo8ZGl2IGNsYXNzPSJ3cF9zeW50YXgiPjx0YWJsZT48dHI+PHRkIGNsYXNzPSJjb2RlIj48cHJlIGNsYXNzPSJkZWxwaGkiIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7Ij48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZnVuY3Rpb248L3NwYW4+IENoZWNrTGlzdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPkluU3RyaW5nPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyBmb250LXdlaWdodDogYm9sZDsiPnN0cmluZzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7IGZvbnQtd2VpZ2h0OiBib2xkOyI+Ym9vbGVhbjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgo8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dmFyPC9zcGFuPiBYPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyBmb250LXdlaWdodDogYm9sZDsiPmludGVnZXI8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmJlZ2luPC9zcGFuPgogIFJlc3VsdCA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5mYWxzZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogIFggPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwZmY7Ij4wPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgSW5TdHJpbmcgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij5TdHJpbmdSZXBsYWNlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPkluU3RyaW5nPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+LDwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjZmYwMDAwOyI+JyAnPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiw8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogI2ZmMDAwMDsiPicnPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiw8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM5MTs8L3NwYW4+cmZSZXBsYWNlQWxsPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM5Mzs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICBJblN0cmluZyA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPlN0cmluZ1JlcGxhY2U8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MDs8L3NwYW4+SW5TdHJpbmc8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4sPC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICNmZjAwMDA7Ij4jJEE8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+LDwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjZmYwMDAwOyI+Jyc8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+LDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzkxOzwvc3Bhbj5yZlJlcGxhY2VBbGw8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzkzOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogIEluU3RyaW5nIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+U3RyaW5nUmVwbGFjZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5JblN0cmluZzxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiw8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogI2ZmMDAwMDsiPiMkRDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4sPC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICNmZjAwMDA7Ij4nJzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4sPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjOTE7PC9zcGFuPnJmUmVwbGFjZUFsbDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjOTM7PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDE7PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+IAogIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij53aGlsZTwvc3Bhbj4gWCAmYW1wO2x0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4gQnVpbGRTdG9wczxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+Q291bnQ8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5kbzwvc3Bhbj4KICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5pZjwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+QW5zaUxvd2VyQ2FzZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5CdWlsZFN0b3BzPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TdHJpbmdzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjOTE7PC9zcGFuPlg8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzkzOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+QW5zaUxvd2VyQ2FzZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5JblN0cmluZzxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDE7PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dGhlbjwvc3Bhbj4KICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmJlZ2luPC9zcGFuPgogICAgICAgUmVzdWx0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij50cnVlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgICAgICBYPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPkJ1aWxkU3RvcHM8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPkNvdW50PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5lbmQ8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZWxzZTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+aW5jPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPlg8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgo8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZW5kPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+PC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+Cgo8cD7Ql9C00LXRgdGMINC80Ys6INCy0L3QsNGH0LDQu9C1INGD0LTQsNC70Y/QtdC8INC40Lcg0YHRgtGA0L7QutC4INCy0YHQtSDQv9GA0L7QsdC10LvRiyDQuCDRg9C/0YDQsNCy0LvRj9GO0YnQuNC1INGB0LjQvNCy0L7Qu9GLLCDQsCDQt9Cw0YLQtdC8INC/0YDQvtGF0L7QtNC40Lwg0LIg0YbQuNC60LvQtSDQv9C+INGB0L/QuNGB0LrRgyDRgdC70L7QsiA8ZW0+QnVpbGRTdG9wcyA8L2VtPtCyINC/0L7QuNGB0LrQsNGFINC30LDQtNCw0L3QvdC+0Lkg0YHRgtGA0L7QutC4IDxlbT5JblN0cmluZzwvZW0+LiDQldGB0LvQuCDRgdGC0YDQvtC60LAg0L7QsdC90LDRgNGD0LbQtdC90LAsINGC0L4g0Y3RgtC+INGB0LvQvtCy0L4g0LTQu9GPINC/0L7QtNGB0LLQtdGC0LrQuC4g0J/RgNC4INGN0YLQvtC8INCS0Ysg0LzQvtC20LXRgtC1INC30LDQv9C40YHQsNGC0Ywg0LIg0YHQv9C40YHQvtC6IDxlbT4gPC9lbT7Qu9GO0LHQvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGB0LvQvtCyINC4INC60L7QvdGB0YLRgNGD0LrRhtC40Y8g0Y/Qt9GL0LrQsCDQtNC70Y8g0L/QvtC00YHQstC10YLQutC4ICYjODIxMjsg0L3QsNGIINGA0LXQtNCw0LrRgtC+0YAg0L3QtSDQv9GA0LjRhdC+0YLQu9C40LIg0LIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Lgg0Lgg0YHQvNC+0LbQtdGCINC/0L7QtNGB0LLQtdGC0LjRgtGMINCy0YHRkSwg0YfRgtC+INC/0L7QttC10LvQsNC10YLQtS48L3A+CjxwPtCh0LvQtdC00YPRjtGJ0LjQuSDRiNCw0LMgJiM4MjEyOyDQv9C+0LTRgdCy0LXRh9C40LLQsNC10Lwg0YHQu9C+0LLQviDQsiA8c3Ryb25nPjxlbT5SaWNoRWRpdDwvZW0+PC9zdHJvbmc+LiDQlNC70Y8g0YLQvtCz0L4sINGH0YLQvtCx0Ysg0LTQsNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GOINGB0LDQvNC+0LzRiyDQstGL0LHQuNGA0LDRgtGMINGG0LLQtdGCINC/0L7QtNGB0LLQtdGC0LrQuCDRjyDQvtC/0YDQtdC00LXQu9C40Lsg0YHQu9C10LTRg9GO0YnQuNC5INGC0LjQvyDQtNCw0L3QvdGL0YU6PC9wPgoKPGRpdiBjbGFzcz0id3Bfc3ludGF4Ij48dGFibGU+PHRyPjx0ZCBjbGFzcz0iY29kZSI+PHByZSBjbGFzcz0iZGVscGhpIiBzdHlsZT0iZm9udC1mYW1pbHk6bW9ub3NwYWNlOyI+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPnR5cGU8L3NwYW4+ClRDb2xvcmVyIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5yZWNvcmQ8L3NwYW4+CiAgRm9udFNpemU8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7IGZvbnQtd2VpZ2h0OiBib2xkOyI+aW50ZWdlcjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPsKgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzgwODA4MDsgZm9udC1zdHlsZTogaXRhbGljOyI+Ly/RgNCw0LfQvNC10YAg0YjRgNC40YTRgtCwINC00LvRjyDRgdC70L7QsiDRgSDQv9C+0LTRgdCy0LXRgtC60L7QuTwvc3Bhbj4KICBDdXJyU2l6ZTxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5pbnRlZ2VyPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+wqAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjODA4MDgwOyBmb250LXN0eWxlOiBpdGFsaWM7Ij4vL9GA0LDQt9C80LXRgCDQvtGB0L3QvtCy0L3QvtCz0L4g0YLQtdC60YHRgtCwPC9zcGFuPgogIEZvbnRDb2xvcjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+IFRDb2xvcjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzgwODA4MDsgZm9udC1zdHlsZTogaXRhbGljOyI+Ly/RhtCy0LXRgiDQv9C+0LTRgdCy0LXRgtC60Lg8L3NwYW4+CiAgQ3VyckNvbG9yPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj4gVENvbG9yPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjODA4MDgwOyBmb250LXN0eWxlOiBpdGFsaWM7Ij4vL9GG0LLQtdGCINC+0YHQvdC+0LLQvdC+0LPQviDRgtC10LrRgdGC0LA8L3NwYW4+CjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5lbmQ8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj48L3ByZT48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj4KCjxwPtCQINCy0Ysg0L3QsNC/0YDQuNC80LXRgCDQvNC+0LbQtdGC0LUg0YHQtNC10LvQsNGC0Ywg0LzQvdC+0LPQvtGG0LLQtdGC0L3Rg9GOINC/0L7QtNGB0LLQtdGC0LrRgywg0L3QviDQtNC70Y8g0Y3RgtC+0LPQviDQktCw0Lwg0L/QvtGC0YDQtdCx0YPQtdGC0YHRjyDQt9Cw0LTQsNGC0Ywg0LrQsNC6INC80LjQvdC40LzRg9C8INC10YnRkSDQvtC00LjQvSDRgdC/0LjRgdC+0Log0YHQu9C+0LIg0LTQu9GPINC/0L7QuNGB0LrQsC48L3A+CjxwPtCi0LXQv9C10YDRjCDRgdCw0LzQsCDQv9GA0L7RhtC10LTRg9GA0LAuINCd0LAg0LzQvtC5INCy0LfQs9C70Y/QtCwg0L3QsNC40LHQvtC70LXQtSDRhtC10LvQtdGB0L7QvtCx0YDQsNC30L3QviDQstGL0LfRi9Cy0LDRgtGMINC/0YDQvtGG0LXQtNGD0YDRgyDQv9C+0LTRgdCy0LXRgtC60Lgg0LIg0L7Qv9GA0LXQtNC10LvQtdC90L3Ri9C5INC80L7QvNC10L3Rgiwg0L3QsNC/0YDQuNC80LXRgCDQv9GA0Lgg0L7RgtC/0YPRgdC60LDQvdC40Lgg0LrQu9Cw0LLQuNGI0LggJiMxNzE70J/RgNC+0LHQtdC7JiMxODc7LCDQsCDQvdC1INC00LXRgNC20LDRgtGMINC10ZEg0LIg0L7RgtC00LXQu9GM0L3QvtC8INC/0L7RgtC+0LrQtS48L3A+Cgo8ZGl2IGNsYXNzPSJ3cF9zeW50YXgiPjx0YWJsZT48dHI+PHRkIGNsYXNzPSJjb2RlIj48cHJlIGNsYXNzPSJkZWxwaGkiIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7Ij48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+cHJvY2VkdXJlPC9zcGFuPiBSaWNoRWRpdEtleVVwPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MDs8L3NwYW4+UkVkaXQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPlRSaWNoRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij52YXI8L3NwYW4+IEtleTxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5Xb3JkPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+IFNoaWZ0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj4gVFNoaWZ0U3RhdGU8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgo8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dmFyPC9zcGFuPiBXRW5kPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+LDwvc3Bhbj4gV1N0YXJ0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+LDwvc3Bhbj4gQkNvdW50PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyBmb250LXdlaWdodDogYm9sZDsiPmludGVnZXI8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KTWFyazxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zdHJpbmc8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmJlZ2luPC9zcGFuPgo8c3BhbiBzdHlsZT0iY29sb3I6ICM4MDgwODA7IGZvbnQtc3R5bGU6IGl0YWxpYzsiPnvRg9GB0LvQvtCy0LjQtSDQv9GA0Lgg0LrQvtGC0L7RgNC+0Lwg0L3QsNGH0LjQvdCw0LXRgiDRgNCw0LHQvtGC0YMg0LDQu9Cz0L7RgNC40YLQvCDQv9C+0LTRgdCy0LXRgtC60Lgg0YHQuNC90YLQsNC60YHQuNGB0LB9PC9zcGFuPgogIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5pZjwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MDs8L3NwYW4+S2V5IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IFZLX1JldHVybjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDE7PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+b3I8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPktleSA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiBWS19CYWNrPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5vcjwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MDs8L3NwYW4+S2V5IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IFZLX1NwYWNlPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij50aGVuPC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmJlZ2luPC9zcGFuPgogICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+aWY8L3NwYW4+IFJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TZWxTdGFydDwvc3Bhbj4gJmFtcDtndDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBmZjsiPjE8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij50aGVuPC9zcGFuPgogICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5iZWdpbjwvc3Bhbj4KICAgICAgICAgIFdTdGFydCA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBmZjsiPjA8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgIFdFbmQgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiBSRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2VsU3RhcnQ8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgIEJDb3VudCA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IFdFbmQgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+LTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMGZmOyI+MTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPndoaWxlPC9zcGFuPiBCQ291bnQgJmFtcDtsdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+JmFtcDtndDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBmZjsiPjA8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5kbzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmJlZ2luPC9zcGFuPgogICAgICAgICAgICAgIE1hcmsgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij5jb3B5PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPlJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5UZXh0PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiw8L3NwYW4+IEJDb3VudDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiw8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBmZjsiPjE8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+aWY8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPk1hcmsgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjZmYwMDAwOyI+JyAnPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDE7PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+b3I8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPk1hcmsgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjZmYwMDAwOyI+IyRBPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDE7PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+dGhlbjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5iZWdpbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgV1N0YXJ0IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj4gQkNvdW50PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgICAgICAgICAgQkNvdW50IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMGZmOyI+MTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmVuZDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPmRlYzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5CQ291bnQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZW5kPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICM4MDgwODA7IGZvbnQtc3R5bGU6IGl0YWxpYzsiPnvQstGL0LTQtdC70Y/QtdC8INGB0LvQvtCy0L59PC9zcGFuPgogICAgICAgICAgUkVkaXQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPlNlbFN0YXJ0PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IFdFbmQgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+LTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MDs8L3NwYW4+V0VuZCA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4tPC9zcGFuPiBXU3RhcnQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICAgUkVkaXQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPlNlbExlbmd0aDwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiBXRW5kIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi08L3NwYW4+IFdTdGFydDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICM4MDgwODA7IGZvbnQtc3R5bGU6IGl0YWxpYzsiPnvQv9GA0L7QstC10YDRj9C10Lwg0LXQs9C+INCyINGB0L/QuNGB0LrQtSDQuCwg0LXRgdC70Lgg0L3QtdC+0LHRhdC+0LTQuNC80L4gLSDQv9C+0LTRgdCy0LXRh9C40LLQsNC10Lx9PC9zcGFuPgogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmlmPC9zcGFuPiBDaGVja0xpc3Q8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5SRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2VsVGV4dDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPnRoZW48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5iZWdpbjwvc3Bhbj4KICAgICAgICAgICAgICBSRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2VsQXR0cmlidXRlczwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPlNpemU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPkNvbG9yZXI8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPkZvbnRTaXplPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgICAgICAgICAgICAgUkVkaXQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPlNlbEF0dHJpYnV0ZXM8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5Db2xvcjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+Q29sb3JlcjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+Rm9udENvbG9yPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5lbmQ8L3NwYW4+CiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZWxzZTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmJlZ2luPC9zcGFuPgogICAgICAgICAgICAgIFJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TZWxBdHRyaWJ1dGVzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2l6ZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+Q29sb3JlcjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+Q3VyclNpemU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgICAgICBSRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2VsQXR0cmlidXRlczwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPkNvbG9yPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj5Db2xvcmVyPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5DdXJyQ29sb3I8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmVuZDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICM4MDgwODA7IGZvbnQtc3R5bGU6IGl0YWxpYzsiPnvQvdC1INC30LDQsdGL0LLQsNC10Lwg0L/QvtGB0YLQsNCy0LjRgtGMINC60LDRgNC10YLQutGDINC90LAg0LzQtdGB0YLQviDQuCDRg9GB0YLQsNC90L7QstC40YLRjCDRiNGA0LjRhNGCINC00LvRjyDQvtGB0L3QvtCy0L3QvtCz0L4g0YLQtdC60YHRgtCwfTwvc3Bhbj4KICAgICAgICAgUkVkaXQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPlNlbFN0YXJ0PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IFdFbmQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICBSRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2VsQXR0cmlidXRlczwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPlNpemU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPkNvbG9yZXI8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPkN1cnJTaXplPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgICAgICAgIFJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TZWxBdHRyaWJ1dGVzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+Q29sb3I8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPkNvbG9yZXI8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPkN1cnJDb2xvcjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmVuZDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmVuZDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgo8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZW5kPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+PC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+Cgo8cD7QndGDLCDQuCDQvdCw0LrQvtC90LXRhiDQv9GA0L7RhtC10LTRg9GA0LAg0L/QvtC00YHQstC10YLQutC4INGB0LjQvdGC0LDQutGB0LjRgdCwINC/0YDQuCDQstGB0YLQsNCy0LvQtdC90LjQuCDQsdC+0LvRjNGI0L7Qs9C+INC60YPRgdC60LAg0YLQtdC60YHRgtCwINC40Lcg0LHRg9GE0LXRgNCwINC+0LHQvNC10L3QsDo8L3A+Cgo8ZGl2IGNsYXNzPSJ3cF9zeW50YXgiPjx0YWJsZT48dHI+PHRkIGNsYXNzPSJjb2RlIj48cHJlIGNsYXNzPSJkZWxwaGkiIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2U7Ij48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+cHJvY2VkdXJlPC9zcGFuPiBIaWdoTGlnaHQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5SRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+IFRSaWNoRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDE7PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij52YXI8L3NwYW4+IFdTdGFydDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiw8L3NwYW4+IFdFbmQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4sPC9zcGFuPiBXRW5kMjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5pbnRlZ2VyPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgICBXb3JrU3BhY2U8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4sPC9zcGFuPiBTV29yZDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5zdHJpbmc8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmJlZ2luPC9zcGFuPgogIFdTdGFydMKgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj7CoCA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwZmY7Ij4xPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgV0VuZMKgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj7CoCA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwZmY7Ij4xPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPndpdGg8L3NwYW4+wqAgUkVkaXQgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmRvPC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmJlZ2luPC9zcGFuPgogICAgICBXb3JrU3BhY2XCoCA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+wqAgVGV4dCA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4rPC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICNmZjAwMDA7Ij4nICc8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPis8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogI2ZmMDAwMDsiPiMkRDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICNmZjAwMDA7Ij4jJEE8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPndoaWxlPC9zcGFuPiBXRW5kICZhbXA7Z3Q8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwZmY7Ij4wPC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+ZG88L3NwYW4+CiAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmJlZ2luPC9zcGFuPgogICAgICAgICAgV0VuZCA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+IFNlYXJjaEZvcjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPldvcmtTcGFjZTxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiw8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogI2ZmMDAwMDsiPicgJzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4sPC9zcGFuPiBXU3RhcnQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICAgV0VuZDIgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiBTZWFyY2hGb3I8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5Xb3JrU3BhY2U8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4sPC9zcGFuPiA8c3BhbiBzdHlsZT0iY29sb3I6ICNmZjAwMDA7Ij4jJEE8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+LDwvc3Bhbj4gV1N0YXJ0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5pZjwvc3Bhbj4gV0VuZDIgJmFtcDtsdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+IFdFbmQgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPnRoZW48L3NwYW4+IFdFbmQgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiBXRW5kMjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgICAgICAgICAgIFNXb3JkIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Y29weTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5Xb3JrU3BhY2U8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4sPC9zcGFuPiBXU3RhcnQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4sPC9zcGFuPiBXRW5kIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi08L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBmZjsiPjE8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5pZjwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MDs8L3NwYW4+U1dvcmQgJmFtcDtsdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+JmFtcDtndDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogI2ZmMDAwMDsiPicgJzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQxOzwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmFuZDwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MDs8L3NwYW4+U1dvcmQgJmFtcDtsdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+JmFtcDtndDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjZmYwMDAwOyI+Jyc8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij50aGVuPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBib2xkOyI+aWY8L3NwYW4+IENoZWNrTGlzdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPlNXb3JkPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij50aGVuPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5iZWdpbjwvc3Bhbj4KICAgICAgICAgICAgICAgIFNlbFN0YXJ0wqAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiBXU3RhcnQgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+LTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMGZmOyI+MTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICAgICAgICAgU2VsTGVuZ3RoIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+bGVuZ3RoPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPlNXb3JkPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgICAgICAgIFJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TZWxBdHRyaWJ1dGVzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2l6ZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+Q29sb3JlcjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+Rm9udFNpemU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgICAgICAgIFJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TZWxBdHRyaWJ1dGVzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+Q29sb3I8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPkNvbG9yZXI8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPkZvbnRDb2xvcjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICAgICAgICAgU2VsU3RhcnQgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPiBXU3RhcnQgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Kzwvc3Bhbj4gPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+bGVuZ3RoPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDA7PC9zcGFuPlNXb3JkPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPis8L3NwYW4+IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBmZjsiPjE8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgICAgICAgIFJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TZWxBdHRyaWJ1dGVzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2l6ZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPj08L3NwYW4+Q29sb3JlcjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+Q3VyclNpemU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgICAgICAgICAgIFJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TZWxBdHRyaWJ1dGVzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+Q29sb3I8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPkNvbG9yZXI8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPkN1cnJDb2xvcjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5lbmQ8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICAgICAgV1N0YXJ0IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj4gV1N0YXJ0IDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPis8L3NwYW4+IFdFbmQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmVuZDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogIFNlbFN0YXJ0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPmxlbmd0aDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5UZXh0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+JiM0MTs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICBTZXRGb2N1czxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5lbmQ8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmVuZDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPjwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PgoKPHA+0KDQsNGB0L/QvtC70LDQs9Cw0LXQvCDQv9GA0L7RhtC10LTRg9GA0YMgPGVtPlJpY2hFZGl0S2V5VXAgPC9lbT7QvdCwINGB0L7QsdGL0YLQuNC1IDxlbT5PbktleVVwIDwvZW0+0YMg0JLQsNGI0LXQs9C+IDxlbT5SaWNoRWRpdDwvZW0+LCDQsCDQv9GA0L7RhtC10LTRg9GA0YMgPGVtPkhpZ2hMaWdodDwvZW0+LCDQvdCw0L/RgNC40LzQtdGAINC90LAg0L3QsNC20LDRgtC40LUg0LrQvdC+0L/QutGDIDxlbT5CdXR0b24gPC9lbT7QvdCwINGE0L7RgNC80LUuPC9wPgo8cD7QndGDLCDQsCDQtNC70Y8g0YLQvtCz0L4sINGH0YLQvtCx0Ysg0YHQvdGP0YLRjCDQv9C+0LTRgdCy0LXRgtC60YMg0YEg0YLQtdC60YHRgtCwLCDQtNC+0YHRgtCw0YLQvtGH0L3QviDQvdCw0L/QuNGB0LDRgtGMINC/0YDQvtGB0YLQtdC90YzQutGD0Y4g0L/RgNC+0YbQtdC00YPRgNGDOjwvcD4KCjxkaXYgY2xhc3M9IndwX3N5bnRheCI+PHRhYmxlPjx0cj48dGQgY2xhc3M9ImNvZGUiPjxwcmUgY2xhc3M9ImRlbHBoaSIgc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZTsiPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5wcm9jZWR1cmU8L3NwYW4+IFJlbW92ZUhpZ2h0TGlnaHQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4mIzQwOzwvc3Bhbj5SRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+IFRSaWNoRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPiYjNDE7PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij52YXI8L3NwYW4+IFdFbmQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij46PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5pbnRlZ2VyPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5iZWdpbjwvc3Bhbj4KICBXRW5kPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPlJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TZWxTdGFydDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPgogIFJFZGl0PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5TZWxlY3RBbGw8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICBSRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2VsQXR0cmlidXRlczwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPkNvbG9yPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj5Db2xvcmVyPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ljwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDY2MDA7Ij5DdXJyQ29sb3I8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KICBSRWRpdDxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPi48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA2NjAwOyI+U2VsQXR0cmlidXRlczwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPlNpemU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij49PC9zcGFuPkNvbG9yZXI8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPkN1cnJTaXplPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjs8L3NwYW4+CiAgUkVkaXQ8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij4uPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNjYwMDsiPlNlbFN0YXJ0PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDA2NjsiPjo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+PTwvc3Bhbj5XRW5kPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDY2OyI+Ozwvc3Bhbj4KPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyBmb250LXdlaWdodDogYm9sZDsiPmVuZDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwNjY7Ij47PC9zcGFuPjwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PgoKPHA+PHN0cm9uZz48ZW0+0JDQu9Cz0L7RgNC40YLQvCDQv9C+0LTRgdCy0LXRgtC60Lgg0YHQuNC90YLQsNC60YHQuNGB0LAg0L3QsCBEZWxwaGk8L2VtPjwvc3Ryb25nPiDQs9C+0YLQvtCyLiDQkiDQv9GA0LjQu9Cw0LPQsNC10LzQvtC8INCyINC60L7QvdGG0LUg0YHRgtCw0YLRjNC4INCw0YDRhdC40LLQtSDQktGLINC90LDQudC00LXRgtC1INC80L7QtNGD0LvRjCA8ZW0+dVN5bnRheCA8L2VtPtC00LvRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQsiDRgdCy0L7QtdC5INC/0YDQvtCz0YDQsNC80LzQtSDQuCDRgdC/0LjRgdC+0Log0LfQsNGA0LXQt9C10YDQstC40YDQvtCy0LDQvdC90YvRhSDRgdC70L7QsiBTUUwg0LTQu9GPINGC0L7Qs9C+LCDRh9GC0L7QsdGLINGB0YDQsNC30YMg0L/RgNC+0LLQtdGA0LjRgtGMINC80L7QtNGD0LvRjCDQsiDQtNC10LnRgdGC0LLQuNC4LiA8YSBocmVmPSJodHRwOi8vZmVlZHMuZmVlZGJ1cm5lci5jb20vbXlEZWxwaGkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93Ij7Qn9C+0LTQv9C40YHRi9Cy0LDQudGC0LXRgdGMINC90LAgUlNTPC9hPiDQuCDRg9C30L3QsNC10YLQtSDQtdGJ0ZEg0LHQvtC70YzRiNC1PC9wPgo8cD48c3Ryb25nPtCh0LrQsNGH0LDRgtGMINC40YHRhdC+0LTQvdC40Lo6PC9zdHJvbmc+PGJyIC8+CjxhIGhyZWY9Imh0dHA6Ly93d3cud2ViZGVscGhpLnJ1L3dwLWNvbnRlbnQvcGx1Z2lucy9kb3dubG9hZC1tb25pdG9yL2Rvd25sb2FkLnBocD9pZD0xMDkiIHRpdGxlPSLQl9Cw0LPRgNGD0LbQtdC9IDc0NSDRgNCw0LciPtCc0L7QtNGD0LvRjCDQtNC70Y8g0L/QvtC00YHQstC10YLQutC4INGB0LjQvdGC0LDQutGB0LjRgdCwINCyIFJpY2hFZGl0PC9hPigyLjAxIGtCKSA8L3A+Cg=="> 		<span class="pdf24Plugin-cp-space">&nbsp;</span>  		<span class="pdf24Plugin-cp-text"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/pdf_icon.png" align="top" vspace="4"> Отправить PDF на</span> 		<span class="pdf24Plugin-cp-space">&nbsp;&nbsp;</span> 		<input class="pdf24Plugin-cp-input" style="margin: 0px;" type="text" name="sendEmailTo" value="E-Mail" onmousedown="this.value = &#39;&#39;;"> 		<input class="pdf24Plugin-cp-submit" style="margin: 0px;" type="submit" value="Отправить"> 	</form>        </div> </td> <td align="center">    <center><div align="center"><div id="___plusone_0" style="text-indent: 0px; margin: 0px; padding: 0px; background-color: transparent; border-style: none; float: none; line-height: normal; font-size: 1px; vertical-align: baseline; display: inline-block; width: 90px; height: 20px; background-position: initial initial; background-repeat: initial initial;"><iframe frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" style="position: static; top: 0px; width: 90px; margin: 0px; border-style: none; left: 0px; visibility: visible; height: 20px;" tabindex="0" vspace="0" width="100%" id="I1_1388642130995" name="I1_1388642130995" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/fastbutton.htm" data-gapiattached="true" title="+1"></iframe></div></div></center> </td>  <td> <center><form action="https://advisor.wmtransfer.com/Spasibo.aspx" method="post" target="_blank" title="Передать $пасибо! webdelphi.ru" rel="nofollow"> <input type="hidden" name="url" value="www.webdelphi.ru"> <input type="image" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/Spasibo!.png" border="0" name="submit" rel="nofollow"> </form></center> </td> </tr> </tbody></table></div>						<div class="post-footer"><img src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/tag.gif" alt="">Метки: <a href="http://www.webdelphi.ru/tag/delphi/" rel="tag">Delphi</a>, <a href="http://www.webdelphi.ru/tag/richedit/" rel="tag">RichEdit</a>, <a href="http://www.webdelphi.ru/tag/algoritm/" rel="tag">алгоритм</a>, <a href="http://www.webdelphi.ru/tag/podsvetka/" rel="tag">подсветка</a>, <a href="http://www.webdelphi.ru/tag/stroki/" rel="tag">строки</a>    </div>		</div><!-- / Post -->
	<a name="comments"></a><!-- named anchor for skip links -->
	<h3 id="comments">26 comments to Подсветка синтаксиса. Алгоритм Delphi.</h3>
	<!-- Comment List -->
	<ul class="commentlist">
			<li class="comment even thread-even depth-1 clearfix" id="comment-14">
		<div id="div-comment-14" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/b34ae93a7faf7401901d3c2f58f42dcc" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname"><a href="http://greenkaktus.wordpress.com/" rel="external nofollow" class="url">Алекcей</a></span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-14">
		20/08/2009 at 06:06</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=14#respond" onclick="return addComment.moveForm(&quot;comment-14&quot;, &quot;14&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>А Вы не слышали о таком понятии как стиль оформления кода. Без обид, но читать код, который написан в один столбец не очень удобно. Сложно что ли сделать отступы?!<br>
А так, по самому алгоритму, проде бы нет замечаний. Молоток! ;-)</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor odd alt depth-2 clearfix" id="comment-15">
		<div id="div-comment-15" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">admin</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-15">
		20/08/2009 at 06:33</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=15#respond" onclick="return addComment.moveForm(&quot;comment-15&quot;, &quot;15&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Не поверите,  но слышал :) Вот только плагин, который я использую в WP видимо об этом не слышал никогда</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment even thread-odd thread-alt depth-1 clearfix" id="comment-16">
		<div id="div-comment-16" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/b34ae93a7faf7401901d3c2f58f42dcc" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname"><a href="http://greenkaktus.wordpress.com/" rel="external nofollow" class="url">Алекcей</a></span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-16">
		20/08/2009 at 14:23</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=16#respond" onclick="return addComment.moveForm(&quot;comment-16&quot;, &quot;16&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Ну тогда нужно сменить плагин, а то как-то не очень хорошо получается. Вы рассказываете про программирование, а листинг в таком не красивом виде. Думаю, что Вам самим не очень приятно читать такой листинг. Попробуйте один из следующих: <strong>SyntaxHighlighter</strong> (один из лучших!!!), <strong>CodeColorer</strong>, <strong>WP-SynHighlight</strong>… есть конечно ещё плагины, но эти самый нормальные, особенно первый! ;)</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor odd alt depth-2 clearfix" id="comment-18">
		<div id="div-comment-18" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">admin</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-18">
		21/08/2009 at 05:12</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=18#respond" onclick="return addComment.moveForm(&quot;comment-18&quot;, &quot;18&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Спасибо за совет. В ближайшее время посмотрю плагины и выберу.</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment even thread-even depth-1 clearfix" id="comment-19">
		<div id="div-comment-19" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/b34ae93a7faf7401901d3c2f58f42dcc" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname"><a href="http://greenkaktus.wordpress.com/" rel="external nofollow" class="url">Алексей</a></span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-19">
		21/08/2009 at 06:54</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=19#respond" onclick="return addComment.moveForm(&quot;comment-19&quot;, &quot;19&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>И ещё один совет. Это уже относительно блога. Сделайте подписку на комментарии. Для этого воспользуйтесь плагином <strong><noindex><a href="http://txfx.net/code/wordpress/subscribe-to-comments/">Subscribe to Comments</a></noindex>. </strong>А то не удобно следить за новыми комментариями.</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor odd alt depth-2 clearfix" id="comment-20">
		<div id="div-comment-20" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">admin</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-20">
		21/08/2009 at 08:42</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=20#respond" onclick="return addComment.moveForm(&quot;comment-20&quot;, &quot;20&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Плагин поставил, с подсветкой синтаксиса вроде разобрался — теперь отступы есть. Спасибо за советы по улучшению блога ;)</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment even thread-odd thread-alt depth-1 clearfix" id="comment-75">
		<div id="div-comment-75" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/10a2cbbda0212191440c25326e6649ec" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Лавентий</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-75">
		18/09/2009 at 12:44</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=75#respond" onclick="return addComment.moveForm(&quot;comment-75&quot;, &quot;75&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Привет. Сначала о хорощем: спасибо что размещаете такую полезную информацию. :) Ну а теперь о плохом: CodeGear RAD Studio 2009 Architect Edition (во как) ругается на функцию SearchFor. В MSDN я ее так же не нашел. Что подскажете?</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor odd alt depth-2 clearfix" id="comment-76">
		<div id="div-comment-76" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Vlad</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-76">
		18/09/2009 at 12:54</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=76#respond" onclick="return addComment.moveForm(&quot;comment-76&quot;, &quot;76&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Да собственно — не за что :) А по поводу SearchFor Вы абсолютно правы — это функция не из стандартных просто не размещал её в блоге, т.к. ничего особенно нового в себе она не несет. Представлю её в комментарии. Извините, что без подсветки :)</p>
<p><strong>function </strong>SearchFor(WorkSpace, Search: string; Start: integer): integer;</p>
<p><strong>var </strong>Temp: string;</p>
<p><strong>begin</strong></p>
<p>Temp := copy(WorkSpace, Start, length(WorkSpace));</p>
<p>Result := pos(Search, Temp);</p>
<p><strong>end</strong>;</p>
<p>Вот и всё. Пользуйтесь на здоровье ;)</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment even thread-even depth-1 clearfix" id="comment-77">
		<div id="div-comment-77" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/10a2cbbda0212191440c25326e6649ec" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Лаврентий</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-77">
		18/09/2009 at 13:25</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=77#respond" onclick="return addComment.moveForm(&quot;comment-77&quot;, &quot;77&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Эмм, спасибо. А что мне делать с <strong>BuildStops</strong>.</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor odd alt depth-2 clearfix" id="comment-79">
		<div id="div-comment-79" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Vlad</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-79">
		18/09/2009 at 13:47</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=79#respond" onclick="return addComment.moveForm(&quot;comment-79&quot;, &quot;79&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p><strong>BuildStops</strong> — это переменная типа TStringList в которой содержатся зарезервированные слова, которые требуется подсветить. Например для Delphi в BuildStops будут находиться элементы: begin, end, function, var и т.д. Соответственно, если делаете подсветку для другого языка — наполняете BuildStops другими словами. В принципе это я так обозвал переменную — можете изменить на что угодно, лишь бы это был TStringList</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment even thread-odd thread-alt depth-1 clearfix" id="comment-78">
		<div id="div-comment-78" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/10a2cbbda0212191440c25326e6649ec" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Лаврентий</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-78">
		18/09/2009 at 13:45</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=78#respond" onclick="return addComment.moveForm(&quot;comment-78&quot;, &quot;78&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Это вопрос вообще то :)</p>
		</div>
</li><!-- #comment-## -->
		<li class="comment odd alt thread-even depth-1 clearfix" id="comment-1913">
		<div id="div-comment-1913" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/e3194fdd30ea38941f482c4ef4f9fc93" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">GrigAir</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1913">
		18/01/2010 at 18:09</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1913#respond" onclick="return addComment.moveForm(&quot;comment-1913&quot;, &quot;1913&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Спасибо за инфо, но в случае записей, вида: &nbsp; max(x), слово max останется не подсвеченным</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor even depth-2 clearfix" id="comment-1914">
		<div id="div-comment-1914" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Vlad</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1914">
		18/01/2010 at 18:16</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1914#respond" onclick="return addComment.moveForm(&quot;comment-1914&quot;, &quot;1914&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Да, есть такое дело. Скажем так — это издержки производства :) Т.к. если проводить анализ подстрок, то можно наломать дров. Как вариант, можно отрезать подстроки которые содержаться в скобках — тогда можно подсвечивать и max</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment odd alt thread-odd thread-alt depth-1 clearfix" id="comment-1915">
		<div id="div-comment-1915" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/e3194fdd30ea38941f482c4ef4f9fc93" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">GrigAir</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1915">
		18/01/2010 at 18:21</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1915#respond" onclick="return addComment.moveForm(&quot;comment-1915&quot;, &quot;1915&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>В принципе, да, но тогда следующая тема: а как подсвечивать комменты? :)</p>
		</div>
</li><!-- #comment-## -->
		<li class="comment even thread-even depth-1 clearfix" id="comment-1917">
		<div id="div-comment-1917" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/e3194fdd30ea38941f482c4ef4f9fc93" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">GrigAir</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1917">
		18/01/2010 at 18:27</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1917#respond" onclick="return addComment.moveForm(&quot;comment-1917&quot;, &quot;1917&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Кстати, если отрезать подстроку в скобках, а делается, как я понял, это в функции CheckList, то подсвечиваться будет и max, и скобки, и то, что в скобках</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor odd alt depth-2 clearfix" id="comment-1918">
		<div id="div-comment-1918" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Vlad</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1918">
		18/01/2010 at 18:37</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1918#respond" onclick="return addComment.moveForm(&quot;comment-1918&quot;, &quot;1918&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>точно :) тогда видимо нужны изменения в алгоритме подсветки. Видимо ещё 1 метод нужен будет.</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment even thread-odd thread-alt depth-1 clearfix" id="comment-1919">
		<div id="div-comment-1919" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/e3194fdd30ea38941f482c4ef4f9fc93" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">GrigAir</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1919">
		18/01/2010 at 18:39</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1919#respond" onclick="return addComment.moveForm(&quot;comment-1919&quot;, &quot;1919&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Да, уж, видимо придется парсить, а так хотелось откосить ))</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor odd alt depth-2 clearfix" id="comment-1920">
		<div id="div-comment-1920" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Vlad</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1920">
		18/01/2010 at 19:05</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1920#respond" onclick="return addComment.moveForm(&quot;comment-1920&quot;, &quot;1920&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Ну парсинг оч интересная тема :)) Надеюсь у Вас всё получится. Я этот алгоритм как-то запостил в блоге и особо нигде не применял в чистом виде, но в случае чего — пишите, попробуем разобраться вместе</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment even thread-even depth-1 clearfix" id="comment-1936">
		<div id="div-comment-1936" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/e3194fdd30ea38941f482c4ef4f9fc93" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">GrigAir</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1936">
		19/01/2010 at 18:43</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1936#respond" onclick="return addComment.moveForm(&quot;comment-1936&quot;, &quot;1936&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Значит так )) &nbsp;После доработки все стало боль-мень работать</p>
<p>function TChildForm.checklist(instring: string): boolean;<br>
const<br>
thelist: array[1..47] of string =<br>
(‘as’, ‘by’, ‘count’, ‘group’, ‘from’, ‘order’, ‘select’,<br>
‘outer’, ‘where’, ‘real’, ’round’, ‘max’, ‘min’, ‘asc’, ‘desc’,<br>
‘inner’, &nbsp;’full’, ‘join’, ‘union’, ‘sum’, ‘avg’, ‘case’, ‘fetch’, ‘first’,<br>
‘when’, ‘then’, ‘or’, ‘and’, ‘end’, ‘if’, ‘rows’, ‘only’, ‘in’, ‘begin’,<br>
‘on’, ‘having’, ‘drop’, ‘table’, ‘insert’, ‘into’, ‘create’, ‘else’, ‘left’,<br>
‘is’, ‘not’, ‘between’, ‘values’);<br>
var<br>
x: integer;<br>
begin<br>
result := false;<br>
x := 1;<br>
instring := stringreplace(instring, ‘ ‘, »,[rfreplaceall]);<br>
instring := stringreplace(instring, ‘(‘, »,[rfreplaceall]);<br>
instring := stringreplace(instring, ‘)’, »,[rfreplaceall]);<br>
instring := stringreplace(instring, ‘=’, »,[rfreplaceall]);<br>
instring := stringreplace(instring, ‘+’, »,[rfreplaceall]);<br>
instring := stringreplace(instring, ‘-’, »,[rfreplaceall]);<br>
instring := stringreplace(instring, ‘*’, »,[rfreplaceall]);<br>
instring := stringreplace(instring, ‘/’, »,[rfreplaceall]);<br>
instring := stringreplace(instring, #$a, »,[rfreplaceall]);<br>
instring := stringreplace(instring, #$d, »,[rfreplaceall]);<br>
while x &lt; high(thelist) + 1 do<br>
if thelist[x] = lowercase(instring) then<br>
begin<br>
result := true;<br>
x := high(thelist) + 1;<br>
end<br>
else<br>
inc(x);<br>
end;</p>
		</div>
</li><!-- #comment-## -->
		<li class="comment odd alt thread-odd thread-alt depth-1 clearfix" id="comment-1937">
		<div id="div-comment-1937" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/e3194fdd30ea38941f482c4ef4f9fc93" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">GrigAir</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1937">
		19/01/2010 at 18:43</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1937#respond" onclick="return addComment.moveForm(&quot;comment-1937&quot;, &quot;1937&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>procedure TChildForm.HighLight;<br>
var<br>
wstart, i &nbsp; &nbsp; &nbsp; &nbsp;: integer;<br>
wend &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : array [1..11] of integer;<br>
workspace, sword : string;<br>
begin<br>
wstart &nbsp;:= 1;<br>
wend[11]:= 1;<br>
with Memo1 do<br>
begin<br>
workspace := text + ‘ ‘ + ‘(‘ + ‘)’ + ‘=’ + ‘+’ + ‘-’ + ‘*’ + ‘/’ + #$d#$a;<br>
while wend[11] &gt; 0 do<br>
begin<br>
wend[11] := searchfor(workspace, ‘ ‘, wstart);<br>
&nbsp;<br>
wend[1] := searchfor(workspace, #$a, wstart);<br>
wend[2] := searchfor(workspace, #$d, wstart);<br>
wend[3] := searchfor(workspace, ‘(‘, wstart);<br>
wend[4] := searchfor(workspace, ‘)’, wstart);<br>
wend[5] := searchfor(workspace, ‘=’, wstart);<br>
wend[6] := searchfor(workspace, ‘+’, wstart);<br>
wend[7] := searchfor(workspace, ‘-’, wstart);<br>
wend[8] := searchfor(workspace, ‘*’, wstart);<br>
wend[9] := searchfor(workspace, ‘/’, wstart);<br>
&nbsp;<br>
&nbsp;<br>
for i:=1 to 9 do<br>
if wend[11]&gt;wend[i] then wend[11]:=wend[i];<br>
&nbsp;<br>
sword := copy(workspace, wstart, wend[11] — 1);<br>
if (sword &lt;&gt; ‘ ‘) and (sword &lt;&gt;») then<br>
if checklist(sword) then<br>
begin<br>
selstart := wstart — 1;<br>
sellength := length(sword);<br>
selattributes.style := [fsbold];<br>
selstart := wstart + length(sword) + 1;<br>
selattributes.style := [];<br>
end;<br>
wstart := wstart + wend[11];<br>
end;<br>
selstart := length(text);<br>
setfocus;<br>
end;<br>
end;</p>
		</div>
</li><!-- #comment-## -->
		<li class="comment even thread-even depth-1 clearfix" id="comment-1938">
		<div id="div-comment-1938" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/e3194fdd30ea38941f482c4ef4f9fc93" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">GrigAir</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1938">
		19/01/2010 at 18:44</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1938#respond" onclick="return addComment.moveForm(&quot;comment-1938&quot;, &quot;1938&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>procedure TChildForm.Memo1KeyUp(Sender: TObject; var Key: Word;<br>
Shift: TShiftState);<br>
var<br>
wend, wstart, bcount: integer;<br>
mark &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: string;<br>
begin<br>
if key=116 then<br>
begin<br>
MainForm.ToolButton11Click(Sender);<br>
end;<br>
if not ((key = 33) or (key = 34) or (key = 35) or (key = 36) or<br>
(key = 37) or (key = 38) or (key = 39) or (key = 40) or (key = 16)) then<br>
begin<br>
if Memo1.selstart &gt; 1 then<br>
begin<br>
wstart := 0;<br>
wend := Memo1.selstart;<br>
bcount := wend — 1;<br>
while bcount &lt;&gt; 0 do<br>
begin<br>
mark := copy(Memo1.text, bcount, 1);<br>
if (mark = ‘ ‘) or (mark = #$a) or (mark = ‘(‘) or (mark = ‘)’) then<br>
begin<br>
wstart := bcount;<br>
bcount := 1;<br>
end;<br>
dec(bcount);<br>
end;<br>
Memo1.selstart := wend — (wend — wstart);<br>
Memo1.sellength := wend — wstart;<br>
if checklist(Memo1.seltext) then<br>
Memo1.selattributes.style := [fsbold]<br>
else<br>
Memo1.selattributes.style := [];<br>
Memo1.selstart := wend;<br>
Memo1.selattributes.style := [];<br>
end;<br>
end;<br>
&nbsp;<br>
end;</p>
		</div>
</li><!-- #comment-## -->
		<li class="comment odd alt thread-odd thread-alt depth-1 clearfix" id="comment-1939">
		<div id="div-comment-1939" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/e3194fdd30ea38941f482c4ef4f9fc93" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">GrigAir</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-1939">
		19/01/2010 at 18:45</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=1939#respond" onclick="return addComment.moveForm(&quot;comment-1939&quot;, &quot;1939&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Можно еще повылизывать, но принцип оптимизации уже понятен :)</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor even depth-2 clearfix" id="comment-2001">
		<div id="div-comment-2001" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Vlad</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-2001">
		20/01/2010 at 11:55</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=2001#respond" onclick="return addComment.moveForm(&quot;comment-2001&quot;, &quot;2001&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Теперь комментарии по объему равны самому посту :) Что весьма радует — сразу два решения. Спасибо за то, что поделились решением в моем блоге.</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment odd alt thread-even depth-1 clearfix" id="comment-2008">
		<div id="div-comment-2008" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/e3194fdd30ea38941f482c4ef4f9fc93" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">GrigAir</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-2008">
		20/01/2010 at 17:28</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=2008#respond" onclick="return addComment.moveForm(&quot;comment-2008&quot;, &quot;2008&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Да всегда пожалуйста. Непонятно, только откуда вообще изначальный код и чему так радовались первые комментаторы. :)</p>
		</div>
<ul class="children">
		<li class="comment byuser comment-author-admin bypostauthor even depth-2 clearfix" id="comment-2009">
		<div id="div-comment-2009" class="clearfix comment-container bypostauthor">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/a29ea0bb18f5fc92e5d716ca332ee744" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Vlad</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-2009">
		20/01/2010 at 17:31</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=2009#respond" onclick="return addComment.moveForm(&quot;comment-2009&quot;, &quot;2009&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>Изначальный код был взят с какого-то сайта по Delphi, который благополучно исчез из Сети + немного подправленный под мои нужды. А комментаторы видимо были рады, что и под их нужды код оказался вполне подходящим :)</p>
		</div>
</li><!-- #comment-## -->
</ul><!-- .children -->
</li><!-- #comment-## -->
		<li class="comment odd alt thread-odd thread-alt depth-1 clearfix" id="comment-5314">
		<div id="div-comment-5314" class="clearfix comment-container">
		<div class="comment-author vcard">
		<img alt="" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/5bd415ee93d29777bc5e7b0b20533fc3" class="avatar avatar-55 photo" height="55" width="55">		<span class="authorname">Darked</span>
		</div>
				<div class="comment-meta commentmetadata">
		<a href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/comment-page-1/#comment-5314">
		29/09/2010 at 17:46</a>
        <span class="comment-reply-link"><a class="comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/?replytocom=5314#respond" onclick="return addComment.moveForm(&quot;comment-5314&quot;, &quot;5314&quot;, &quot;respond&quot;, &quot;197&quot;)"> · Ответить</a></span>
		</div>
		<p>За статью большооое спасибо, но не могли бы вы выкладывать исходники на менее геморойные файлообменники, хотя бы на народ…</p>
		</div>
</li><!-- #comment-## -->
	</ul>
	<!-- / Comment List -->
								<div id="respond" class="comment-respond">
				<h3 id="reply-title" class="comment-reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/#respond" style="display:none;">Cancel reply</a></small></h3>
									<form action="http://www.webdelphi.ru/wp-comments-post.php" method="post" id="commentform" class="comment-form">
																										<p><input class="text author" id="author" name="author" type="text" value="" size="30" tabindex="1">&nbsp;&nbsp;<label for="author"><strong>Name </strong> (required)</label></p>
<p><input class="text email" id="email" name="email" type="text" value="" size="30" tabindex="2">&nbsp;&nbsp;<label for="email"><strong>Email</strong> (will not be published) (required)</label></p>
<p><input class="text url" id="url" name="url" type="text" value="" size="30" tabindex="3">&nbsp;&nbsp;<label for="url">Website</label></p>
												<p><textarea name="comment" id="comment" rows="10" cols="10" tabindex="4"></textarea></p>
		<p class="thesetags clearfix">You can use <a class="xhtmltags" href="http://www.webdelphi.ru/2009/08/podsvetka-sintaksisa-algoritm-delphi/#" onclick="return false;">these HTML tags</a></p>
		<div class="xhtml-tags"><p><code>&lt;a href="" title=""&gt; &lt;abbr title=""&gt; &lt;acronym title=""&gt; &lt;b&gt; &lt;blockquote cite=""&gt; &lt;cite&gt; &lt;code&gt; &lt;del datetime=""&gt; &lt;em&gt; &lt;i&gt; &lt;q cite=""&gt; &lt;strike&gt; &lt;strong&gt;
		</code></p></div>						<p class="form-submit">
							<input name="submit" type="submit" id="submit" value="Post Comment">
							<input type="hidden" name="comment_post_ID" value="197" id="comment_post_ID">
<input type="hidden" name="comment_parent" id="comment_parent" value="0">
						</p>
						<p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="3710f45328"></p>
	<p style="clear: both;" class="subscribe-to-comments">
	<input type="checkbox" name="subscribe" id="subscribe" value="subscribe" style="width: auto;">
	<label for="subscribe">Оповестить меня о новых комментариях по почте</label>
	</p>
					</form>
							</div><!-- #respond -->
</td>
<!-- / Main Column -->
<!-- Right Inner Sidebar -->
<!-- Right Sidebar -->
<!-- / Right Sidebar -->
</tr>
<!-- / Main Body -->
<tr>
<!-- Footer -->
<td id="footer" colspan="2">
   Copyright © 2014 <a href="http://www.webdelphi.ru/">Delphi в Internet</a> - All Rights Reserved<br>
    <style type="text/css">
</style>
<!-- Lightbox Plus ColorBox v2.6/1.3.32 - 2013.01.24 - Message: 0-->
<script type="text/javascript">
jQuery(document).ready(function($){
  $("a[rel*=lightbox]").colorbox({speed:350,initialWidth:"300",initialHeight:"100",opacity:0.8,loop:false,scrolling:false,escKey:false,arrowKey:false,top:false,right:false,bottom:false,left:false});
});
</script>
<script type="text/javascript" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/jquery.colorbox.1.3.32.js"></script>
 
</td>


</tr>
</tbody></table><!-- / layout -->
</div><!-- / container -->
</div><!-- / wrapper -->
<!--  -->
<script charset="windows-1251" type="text/javascript" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/show.cgi"></script><script charset="windows-1251" type="text/javascript" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/show(1).cgi"></script><script charset="windows-1251" type="text/javascript" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/floatadp_left_init"></script><script type="text/javascript" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/jquery-1.6.2.min.js"></script><script charset="UTF-8" type="text/javascript" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/floatadp"></script>

<!-- Place this tag after the last widget tag. -->
<script type="text/javascript">
  window.___gcfg = {lang: 'ru'};

  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>


<iframe name="oauth2relay639357249" id="oauth2relay639357249" src="./Подсветка синтаксиса. Алгоритм Delphi.   Delphi в Internet_files/postmessageRelay.htm" style="width: 1px; height: 1px; position: absolute; top: -100px;"></iframe></body></html>